如何在Vim中粘贴多行?

时间:2017-07-05 18:27:12

标签: vim

问题:
我正在使用:g/^/+d删除/复制其他每一行 但是,当我尝试粘贴所有这些行时,只会粘贴最后一行。如何粘贴我删除/复制的每一行?

已解决
感谢大家!在你的帮助下,我能够完成我的视频(我在一个名为Vim Girl的Youtube频道上工作,在那里我引导Vim高尔夫球挑战。)如果您有兴趣,请点击链接:https://youtu.be/S9o5bHUAbP0

3 个答案:

答案 0 :(得分:7)

您可以使用资本登记册附加到登记册。首先通过执行:let @a=''qaq清除注册表。然后执行你的命令。

:g/^/+d A

现在您的结果位于"a注册表中。例如"ap

假设你将这一切粘贴在底部,这可能看起来像以下一样:

:let @a=''
:g/^/+d A
:$pu a

注意:这相当于:g/^/+m$

如需更多帮助,请参阅:

:h :let-@
:h :d
:h quote_alpha

答案 1 :(得分:2)

使用鼠标选择要复制的所有行,使用要复制的文本按^shiftc

现在粘贴,到达要粘贴到的位置,然后按ESC:set paste insert,然后按^shiftv

如果要剪切/粘贴,请使用ddp进行粘贴。您也可以使用d4d代替dd剪切/粘贴4行。

答案 2 :(得分:2)

你可以编写一个宏来将所有内容追加到最后:

qdddGp<ctrl + o>jq

然后根据需要运行它多次(例如20):

20@d