VI中如何复制不相邻的行?
How do you copy un-neighboring lines in VI?
在下面的例子中,我想复制第 1、2、4 和 5 行(没有第 3 行):
var copyMe=true;
var copyMeAsWell=true;
var doNotCopyMe = 123;
var copyMeWithLine1And2And5=true;
var alsoCopyMe=True;
所以当我粘贴抽出的行时,我会得到:
var copyMe=true;
var copyMeAsWell=true;
var copyMeWithLine1And2And5=true;
var alsoCopyMe=True;
你可以做到
:1,2yank q
:4,5yank Q
将内容放入寄存器q
(大写Q
表示'append to register q')。
然后你可以用 "qp
粘贴它(或者简单地 p
如果你没有改变两者之间的未命名寄存器)。
注::yank
可以简写为:y
如果您更愿意退出正常模式,您也可以使用 "qy
和 "Qy
。
如果你想用命令来做到这一点,你可以这样做:
:3d|1,4y|u
其实就是去掉#3行,复制你想要的那些行,然后撤销。
在下面的例子中,我想复制第 1、2、4 和 5 行(没有第 3 行):
var copyMe=true;
var copyMeAsWell=true;
var doNotCopyMe = 123;
var copyMeWithLine1And2And5=true;
var alsoCopyMe=True;
所以当我粘贴抽出的行时,我会得到:
var copyMe=true;
var copyMeAsWell=true;
var copyMeWithLine1And2And5=true;
var alsoCopyMe=True;
你可以做到
:1,2yank q
:4,5yank Q
将内容放入寄存器q
(大写Q
表示'append to register q')。
然后你可以用 "qp
粘贴它(或者简单地 p
如果你没有改变两者之间的未命名寄存器)。
注::yank
可以简写为:y
如果您更愿意退出正常模式,您也可以使用 "qy
和 "Qy
。
如果你想用命令来做到这一点,你可以这样做:
:3d|1,4y|u
其实就是去掉#3行,复制你想要的那些行,然后撤销。