第十章和第十一章讲了 Vim 的寄存器功能,

寄存器,是用于保存文本的特定的容器.它的内容:

  1. 既可以是类似于系统剪切板功能的,用于粘贴的文本
  2. 也可以是录制成的宏的命令.

第十章讲使用寄存器使用复制与粘贴功能.

""(无名寄存器)

命令:

命令 按键
剪切 d
删除(光标下的)字符 x
删除(光标下的)字符,并进入插入模式 s
粘贴(到光标后面) p
复制 y

当使用以上命令的时候,即将所选的文本保存到了无名寄存器当中.

应用:

  1. 调换两个字母: xp 命令
  2. 调换两行: ddp 命令

其他寄存器

在默认情况下, Vim 使用 "",
可以通过 定义 ""{register}前缀的方式来指定要用的寄存器
在 Ex 模式下,定义: put {register}:delete {register}的后缀来指定要用的寄存器

"0 (复制专用寄存器)

调用:
在执行 y 命令时,不需要指定前缀
在执行 p 命令时, 指定"0{P/p}

"a-"z (有名寄存器)

调用:
在执行 y 命令时,需要指定前缀
在执行 p 命令时,需要指定前缀.

表达式寄存器

表达式寄存器是寄存器中的例外,可以执行 Vim 脚本中的表达式

光标

p 粘贴在光标之后, P 粘贴在光标之前.
但是:

  1. 当复制、剪切面对的对象为字符,则 p P 在光标的字符之后或之前执行.
  2. 当复制、剪切面对的对象为段落,则 p P 在光标的段落之后或之前执行.

{register} 命令:
将内容复制在光标之前.

:put 命令:
将内容粘贴到光标当前行的下方

《Practical Vim》第十章:复制和粘贴的更多相关文章

  1. vim 介绍安装 复制 剪切 粘贴

    1. vim 产生:对于linux 文件的编辑,最初是vi,然后对于其功能的扩展,就产生了vim vim 的安装 yum install vim 2.光标的移动 用得最多的就是方向键上的 上下左右,和 ...

  2. vim选中字符复制/剪切/粘贴

    转载自:http://www.cnblogs.com/luosongchao/p/3193153.html 问题描述: vim 中选中指定字符,进行复制/剪切/粘贴 选择:1.普通模式下--v+hjk ...

  3. vim操作(复制,粘贴)

    整行操作 单行复制 在"命令"模式下,将光标移动到将要复制的行处,按"yy"进行复制 多行复制 在"命令"模式下,将光标移动到将要复制的首行 ...

  4. vi学习 常用命令-新建-复制-剪切-粘贴

    mkdir /home/brandon.du/desktop/mylinux/test_1.txt   ---------mkdir新建文件夹 rm /home/brandon.du/desktop/ ...

  5. Vim 下的复制/粘贴/剪切/撤销

    一 了解 vim 有 12 个粘贴板,分别是 0.1.2.....9.a.“.+:用 :reg 命令可以查看各个粘贴板里的内容.在 vim 中简单用 y 命令只是复制到 "(双引号)粘贴板里 ...

  6. 关于vim复制剪贴粘贴命令的总结

    最近在使用vim,感觉很好很强大,但是在使用复制剪切粘贴命令是,碰到了一些小困惑,网上找了一些资料感觉很不全,讲的也不好,遂自己进行实践并总结了. 首先是剪切(删除): 剪切其实也就顺带删除了所选择的 ...

  7. Linux使用技巧(一):vim中选中多行、复制和粘贴

    一.选中多行: 使用命令vim打开文件,移动光标至所选行的开头,按v进入视图,键盘上按向下键,选中所需行即可. 二.复制与粘贴 三种方法: 1)在上文第一部分的基础上,按y,然后移动光标至所需粘贴处, ...

  8. vim寄存器与复制粘贴的实现

    对于大多数在Ubuntu下使用vim作为常用编辑器的同学来讲,他们遇到的第一个比较大的麻烦来自于vim与外部应用的复制粘贴. 当然,愿意选择ubuntu以及vim的同学肯定是google好手.不幸的是 ...

  9. 【转】vim复制与粘贴

    用vim写代码时,经常遇到这样的场景,复制多行,然后粘贴. 这样做:1. 将光标移动到要复制的文本开始的地方,按v进入可视模式.2. 将光标移动到要复制的文本的结束的地方,按y复制.此时vim会自动将 ...

随机推荐

  1. 学习 ASP.NET Core 2.1:集成测试中使用 WebApplicationFactory

    WebApplicationFactory 是 ASP.NET Core 2.1 新特性 MVC functional test infrastructure 中带来的新东东,它封装了 TestSer ...

  2. Python爬虫实例(四)网站模拟登陆

    一.获取一个有登录信息的Cookie模拟登陆 下面以人人网为例,首先使用自己的账号和密码在浏览器登录,然后通过抓包拿到cookie,再将cookie放到请求之中发送请求即可,具体代码如下: # -*- ...

  3. Ubuntu系统启动后停在(initramfs)

    问题 今天我在启动虚拟机过程 遇到莫名其妙的问题,启动不了.如下图.提示某个文件系统错误了.例如我的就是 /dev/mapper/vagrant--vg-root . 上面问题 可把我急坏了,以为虚拟 ...

  4. AngularJs实现全选功能

    html代码 <!-- 数据表格 --> <div class="table-box"> <!--工具栏--> <div class=&q ...

  5. Http协议Status状态代码

    Http协议:Http协议(超文本传输协议)是一个基于请求与响应模式的.无状态的.应用层的协议,常基于TCP的连接方式,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用http请求有三部分 ...

  6. File 文件

    1 File 概述 文件:file目录:directory路径:path File类静态成员变量: pathSeparator:与系统有关的路径分隔符,为了方便,它被表示为一个字符串separator ...

  7. Centos7.1环境下搭建BugFree

    环境准备: 系统 配置 IP Centos7.1 1核2G+60GB硬盘 10.10.28.204 1. 安装apache yum install httpd  2. 安装mysql yum inst ...

  8. node (02 CommonJs 和 Nodejs 中自定义模块)顺便讲讲module.exports和exports的区别 dependencies 与 devDependencies 之间的区别

    CommonJS 规范的提出,主要是为了弥补当前 JavaScript 没有标准的缺陷.它的终极目标就是:提供一个类似 Python,Ruby 和 Java 语言的标准库,而不只是停留在小脚本程序的阶 ...

  9. cocos2d-x Android(SDK,NDK,JDK,ANT)下载地址

    搭建Android环境需要用到Android SDK.NDK.Ant和JDK: 下载Android SDK  下载Android NDk 下载Android JDK 下载Ant

  10. [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:建立一个EF数据模型

    英文渣水平,大伙凑合着看吧…… 这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第一篇: ...