在Vim中,我们使用寄存器(register)概念进行多次的剪切和粘贴操作。通常编辑器中只有一个剪切板可供使用,而在Vim中最多时可以使用26个剪切板,这样就会大大提高工作的效率。关于寄存器的详细说明请参阅相关章节。
删除文本的保存
当我们使用d
或x
删除文本时,被删除掉的文本并没有被Vim所丢弃,而是被保存在寄存器之中。我们可以使用p
命令来粘贴刚刚所删掉的内容。
下面来看看他是如何工作的。首先随意输入几行文本,然后移动到其中的一行,用dd命令来删掉一行。接着将光标移到任意位置,使用p命令,就会在当前光标的下一行粘贴被删除掉的内容。使用x命令删除的东西也可以粘贴回来。所不同的是在当前光标处之后粘贴。有了这样的命令,我们就可以轻松找回刚刚误删除的内容了。
复制(yank)
在Vim中使用y
命令(yank)进行复制操作。yw
命令可以复制一个单词。yy
命令可以复制一行。我们也可以使用Y
命令来复制一行,或者使用数字做前缀来指定复制多行。使用y$
命令,则可以复制从当前光标到本行结尾的所有字符。
如果我们在某一行用ma
做了标记(mark),那么就可以使用y'a
命令来复制这一行了。关于标记的详细说明请参阅相关章节。
粘贴
在完成复制之后,即可以使用p命令进行粘贴。p
命令可以在一个文件中多次使用,每次都可以将刚删除或复制的内容重复粘贴在所希望的地方。当然这个命令也可以使用数字做前缀,明确的指出所要执行的次数。
小写的p
命令是在当前行的下一行进行粘贴,,并将光标移到新插入行的开头处。
大写的P
命令则是在当前的上一行进行插入,并将光标移到新插入行的开头处。
gp
命令是在当前行的下一行进行粘贴,并将光标移动到新插入行的下一行的开头处。
gP
命令是在当前的上一行进行粘贴,插入后光标移动新插入行的下一行的开头处。
p | 在当前光标后粘贴 |
P | 在当前光标前粘贴 |
yy | 复制一行 |
Y |