例如,我想复制5~15行并将其粘贴到另一个地方。我找到了几种方法:
11yy
和p
5,15y
和p
p
我对这些方法中的任何一种都不满意,对于方法1和方法2,我不得不费心去查看行号或计算我要复制的行数,当文本覆盖多行时,它变得非常棘手。对于方法3,我必须提前留出足够的空间,这也让我计算要粘贴的行数。那么有没有像方法3那样的方法,只是我不需要事先留下足够的空间?
编辑:方法2,原始5,15yy
错误。已经纠正。
答案 0 :(得分:3)
如果要复制整行,请使用 linewise visual mode ,通过V
输入。这样,寄存器内容将在粘贴时自动移动现有行,这与您通过<C-V>
使用的 blockwise 选择不同。
您也可以使用:put
粘贴整行(即使您(错误地)进行了块选择)。对于更多这样的技巧和方便的映射,我的UnconditionalPaste plugin。
答案 1 :(得分:2)
类似于你的方法将是:
转到第5行,然后V15Gy
或V10jy
或Vjjj...jy
(V
是可视模式的行。您可以看到所选的行而不是关于行号)
转到第40行(或其他地方)和p
。这将把线条放在40号线之后。或者使用P
将其放在Line-40之前。
或者您可以使用前命令:t
(与:copy
相同但更短)
:5,15t 40