寄存器

VIM里面的寄存器可以用来保存拷贝的文本、记录的宏、设置的书签等等,一般的编辑器都只有一个剪切板(MS Office加入了多个剪切板),而VIM和Emacs编辑器中的多寄存器可以实现多个剪切板的功能。VIM中有九类寄存器:

  1. 无名寄存器 " 最近一次删除/修改/替换操作的文本都会放入这个寄存器
  2. 10个数字寄存器 0-9 拷贝或者删除的文本存入这些寄存器,这些寄存器是循环使用的,在每次存入内容到寄存器1时,原有的内容会依次存入到后一个寄存器中。
  3. 小删除寄存器 - 删除内容少于一行时放入这个寄存器。
  4. 26个命名寄存器 a-zA-Z 大小写无关。这些寄存器可以在拷贝或者删除等操作中指定使用。
  5. 四个只读寄存器 :.%# 特殊用途。
  6. 表达式寄存器 = 特殊用途。
  7. 选择和拖放寄存器 *+~ 用于与系统剪切板交互,以及接收拖放操作的内容。
  8. 黑洞寄存器 _ 放到这里面的内容都被丢弃,这样可以删除或拷贝时不影响其它寄存器。
  9. 最后一次搜索模式寄存器 / 保存最后一次搜索的正则表达式。

使用:reg命令可以看到所有寄存器中的内容,使用"+y或者"*y可以将visual mode下选择的内容拷贝到系统剪切板,使用"+p或者"*p可以将剪切板中的内容粘贴到VIM中,如果打开了mswin特性的话则在insert mode下使用Ctrl-x,Ctrl-v,Ctrl-c了。

Reference: :help registers