在Vim中重复整行
如何在Vim中以类似于在Eclipse中的IntelliJ IDEA / Resharper或Ctrl + Alt +↑/↓中的Ctrl + D的方式复制整行?
yy或Y复制该行
要么
dd删除(剪切)该行
然后
p将复制或删除的文本粘贴到当前行后面
要么
P粘贴复制或删除的文本在当前行之前
正常模式:查看其他答案。
例如:
:t.
将复制该行, :t 7
行将在第7行后复制, :,+t0
会复制文件开头的当前行和下一行( ,+
是范围的同义词.,.+1
), :1,t$
将复制从开始到光标位置到结束的行( 1,
是范围1,.
的同义词)。 如果您需要移动而不是复制,请使用:m
而不是:t
。
如果将它与:g
结合使用,它可以非常强大:g
或:v
:
:v/foo/m$
会将不匹配模式“foo”的所有行移动到文件末尾。 :+,$g/^s*classs+i+/t.
会在光标后面复制表单class xxx
所有后续行。 参考:: :help range
, :help :t
, :help :g
, :help :m
和:help :v
YP
或Yp
或yyp
。