复制是把指定内容复制到内存的一块缓冲区中,而粘贴是把缓冲区中的内容粘贴到光标所在位置。
复制和粘贴的方法如下。
yw:将光标所在位置到字尾的字符复制到缓冲区中,y是yank的首字母。
nyw:将光标所在位置开始的n个字复制到缓冲区中,n为数字。
yb:从光标开始向左复制一个字。
nyb:从光标开始向左复制n个字,n为数字。
y0:复制从光标前一个字符到行首的所有字符。
y$:复制从光标开始到行末的所有字符。
yy:复制当前行,即光标所在的行。
nyy:复制从当前行开始的n行,n为数字。
p:在光标所在位置的后面插入复制的文本,p是paste的首字母。
P:在光标所在位置的前面插入复制的文本。
np:在光标所在位置的后面插入复制的文本,共复制n次。
nP:在光标所在位置的前面插入复制的文本,共复制n次。
多行复制粘贴删除使用方法:
Eg 复制第5行到第10行并粘贴到第12行之后
光标放到第五行,
输入:y6y
光标放到第12行,
输入:p
命令行模式下输入
:5,10 co 12
延伸一下, 有时候不想费劲看多少行或复制大量行时,可以使用标签来替代
光标移到起始行,输入ma
光标移到结束行,输入mb
光标移到粘贴行,输入mc
然后 :'a,’b co ’c
把 co 改成 m 就成剪切了
也可以把大量的代码保存到一个文件,然后在另一个文件里打开需要拷贝的代码。
在文件一:
光标移到起始行,输入ma
光标移到结束行,输入mb
然后:’a, ’b w filename
在文件二:
光标移到需要赋值的行,输入:
:r filename
找到要复制的行,键盘按下shift+v, 然后用方向键上下或j h 移动想要copy的行,然后按下y
在移动到目的行,按下p即完成拷贝多行。这种方法适合没有行号的多行copy。