http://jingyan.baidu.com/article/7f766daf43789b4101e1d0f3.html
传统软件的复制(copy),剪切(cut),粘贴(paste),在Vim中对应的是yank,delete和put。
在Vim中的复制,删除,替换等操作的临时内容,都会存储在寄存器中。
下面分享下Vim中的寄存器和相关的基本的操作。
方法/步骤
-
无名寄存器("")
两个双引号,Vim中叫做无名寄存器。x,s,d,c,y等操作,如果不指定寄存器,都是将临时内容放到这个寄存器中,也就是相当于一个默认寄存器。
可以通过 :reg 来查看当前寄存器的值,操作一下,然后查寄存器内容,就明白了。
例如:
复制当前行(yy),并粘贴(p)。
这里y命令会将当前行内容放入寄存器"",按p时,会到寄存器""中取内容。
-
复制专用寄存器("0)
通过y命令复制的内容,会保存到寄存器0中。
寄存器的使用是通过"后面跟寄存器名字。
例如:
复制当前行(yy),
又做了几次删除单词操作(dw)
但是只想粘贴刚才复制的行,那么就不能用无名寄存器""去粘贴了,不能直接p进行粘贴,需要用"0p,指定使用寄存器0,因为"0里只存放y命令存入的内容。
-
删除专用寄存器("1-"9)
通过d或c命令,删掉的内容,会保存打"1-"9这9个寄存器中。
最新删除的内容,会在"1中,其他顺延。
例如:
删除当前行(yy)
删除当前行(yy)
想复制第一次删除的行,"2p
-
命名寄存器("a-"z)
可以将重要内容放到命名寄存器"a-"z中,一共26个。
例如:
把当前行放入寄存器"j里,"jyy
复制寄存器"j的内容, "jp
-
黑洞寄存器("_d)
放到这个寄存器的内容,将不会放到任何其他寄存器中,相当于彻底删除内容。
例如:
彻底删除当前行,不放入任何寄存器,"_dd
-
系统剪贴板("+)
通过"+寄存器可以把内容复制到系统剪贴板,也可以从系统剪贴板粘贴内容但Vim中。
例如:
复制当前行到系统剪贴板中,"+yy
复制系统剪贴板到vim中,"+p