VIM下的删除:delete;
复制:yank;
粘帖:put;
都会用到VIM下的相关寄存器,今天就说说这个寄存器的问题:
VIM中有多种寄存器:包括:
有名寄存器,用名字(”a-“z);
无名寄存器,名字为:“” 进行任何删除、复制操作时,它都会赋值,也是默认的,不用指定就可以;
黑洞寄存器:“_ 表示真的完全没有了,放进去的东西都不会恢复的;
复制专用寄存器:”0 当进行复制时,它就会被自己赋值;
表达式寄存器: “= 它会用于计算之类的;
系统剪贴板: ”+
还有一些其它寄存器:
利用 下面命令可以看里面的内容:
:reg {寄存器名字}
如何引用一个寄存器?
使用下面的前缀就可以引用一个寄存器。记得是前缀哦:
“{register} # 其实就是把寄存器的名字放前面,就可以引用这个寄存器了。
在插入模式下,如果粘贴寄存器的内容:
按ctrl+r +{寄存器的名字} 也可以插入寄存器的内容; 其实当按ctrl+r 时,光标处,会出现 ” , 这时把名字输入就可以了。
注意:
粘贴时,注意 p 与 P 的区别:
p 把文本粘贴到 光标后面 或 所在行的下面; P把文本粘贴到 光标前面 或 所在行的上面;
另外:gp与gP 和 p与P 的区别:
当于 gp 或 gP 粘贴字符时, 它与p 与P 唯一的区别为: 粘贴完以后,光标移动到被粘贴的字符后面;
当于 gp 或 gP 粘贴行时, 它与p 与P 唯一的区别为: 粘贴完以后,光标移动到被粘贴行的下一行行首; (p 与P 时,粘贴完以后,光标移动到被粘贴行行首)
参考:VIM实用技巧,第二版,作者:Drew Neil;翻译:杨源, 车文隆;