了解Vim中的寄存器

在传统软件中,复制、剪切和粘贴分别对应着copy、cut和paste操作。但是在Vim中,这些操作被称为yank、delete和put。Vim中的操作会将临时内容存储在寄存器中。下面将分享Vim中的寄

在传统软件中,复制、剪切和粘贴分别对应着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),但只想粘贴刚才复制的行,不能直接使用无名寄存器"去粘贴,需要使用"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)

将内容放入黑洞寄存器"_d中,该内容将不会被保存到任何其他寄存器中,相当于彻底删除。例如,要彻底删除当前行而不保存到任何寄存器中,可以使用"_dd命令。

系统剪贴板(" )

使用" 寄存器可以将内容复制到系统剪贴板,也可以从系统剪贴板粘贴内容到Vim中。例如,将当前行复制到系统剪贴板中,可以执行" yy命令。要将系统剪贴板中的内容复制到Vim中,可以执行" p命令。

标签: