问题:
我正在使用:g/^/+d
删除/复制其他每一行
但是,当我尝试粘贴所有这些行时,只会粘贴最后一行。如何粘贴我删除/复制的每一行?
已解决:
感谢大家!在你的帮助下,我能够完成我的视频(我在一个名为Vim Girl的Youtube频道上工作,在那里我引导Vim高尔夫球挑战。)如果您有兴趣,请点击链接:https://youtu.be/S9o5bHUAbP0
答案 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
如果要剪切/粘贴,请使用dd
和p
进行粘贴。您也可以使用d4d
代替dd
剪切/粘贴4行。
答案 2 :(得分:2)
你可以编写一个宏来将所有内容追加到最后:
qdddGp<ctrl + o>jq
然后根据需要运行它多次(例如20):
20@d