VI技巧,很实用,来自CU
VI技巧,很实用,来自CU2007年10月10日 星期三 12:03
如何用vi 复制第5行到第10行并粘贴到第12行之后?
方法1:
光标放到第五行,
输入:y6y
光标放到第12行,
输入:p
方法2:
命令行模式下输入
:5,10 co 12
方法3:
我一般都是
先移到第五行 d6
p
再移到12行
p
延伸一下, 有时候不想费劲看多少行或复制大量行时,可以使用标签来替代
光标移到起始行,输入ma
光标移到结束行,输入mb
光标移到粘贴行,输入mc
然后 :'a,'b co 'c
把 co 改成 m 就成剪切了
那删除呢
是不是5,10 de
刚才试了试,的确可以
也可以把大量的代码保存到一个文件,然后在另一个文件里打开需要拷贝的代码。
在文件一:
光标移到起始行,输入ma
光标移到结束行,输入mb
然后:'a, 'b w filename
在文件二:
光标移到需要赋值的行,输入:
:r filename
行拷贝还有一个比较简单的方法:
操作如下:
找到要复制的行,键盘按下shift+v, 然后用方向键上下或j h 移动想要copy的行,然后按下y
在移动到目的行,按下p即完成拷贝多行。这种方法适合没有行号的多行copy。
Vi 提供了文本移动和复制命令,用户利用这些指令可以方便的复制字符、文字、行还有文本块。
有关的命令如下:
yy 将当前行复制到缓冲区
yw 将当前单词复制到缓冲区
y1 将光标处的一个字符复制到缓冲区
p 将缓冲区的信息粘贴到光标的后面
:行号1 ,行号2 copy 行号3 将行号1到行号2的内容复制到行号3所在行的后面。
:行号1 ,行号2 move 行号3 将行号1到行号2的文本内容移动到行号3所在行的后面。