Vim下的复制与粘贴

Vim下的复制与粘贴

Vim的剪切粘贴于我们常用的编辑器有很大不同,从术语上来看,Vim中的删除(Delete) ,复制(yank), 粘贴(put) 就和我们常用的指令不同.

Vim 不使用单一的剪贴板进行剪切、复制与粘贴操作,而是为这些操作提供了多 组寄存器。当使用删除、复制与粘贴命令时,我们可以明确指定它们中的某一个进行 操作。

引用一个寄存器

Vim 的删除、复制与粘贴命令都会用到众多寄存器中的某一个。我们可以通过给 命令加 "{register} 前缀的方式指定要用的寄存器。若不指明,Vim 将缺省使用无 名寄存器。

VIM中有多种寄存器:包括:
有名寄存器,用名字(”a-“z);

无名寄存器,名字为:“” 进行任何删除、复制操作时,它都会赋值,也是默认的,不用指定就可以;

黑洞寄存器:“_ 表示真的完全没有了,放进去的东西都不会恢复的;

复制专用寄存器:”0 当进行复制时,它就会被自己赋值;

表达式寄存器: “= 它会用于计算之类的;

系统剪贴板: ”+

下面给出一个范例

按键操作 缓冲区内容
yiw content1 content2
w content1 content2
diw content1
p content1 content2

但是这样我们得到的单词是content2, 不是我们想要的content1
这是因为, 我们运行diw时,无名寄存器被覆盖掉了, 这样我们按p时得到的是刚刚删除的单词, 尔不是之前复制的单词.

这时, 我们可以使用复制专用寄存器, "0, 只有在进行复制时, 复制专用寄存器才会被复制, 我们再进行一次操作

按键操作 缓冲区内容
yiw content1 content2
w content1 content2
diw content1
"0p content1 content1

最终得到content1 content1

你可能感兴趣的:(Vim下的复制与粘贴)