在 Vim 中复制整行

如何以类似于 IntelliJ IDEA / Resharper 中的Ctrl + D或 Eclipse 中的Ctrl + Alt + / ↓的方式在 Vim 中复制整行?

答案

y yY复制行(助记符: y ank
要么
d dd elete行(VIM 拷贝你删除到剪贴板中,如 “注册”,如剪切操作)

然后

pp ASTE复制或在当前行之后删除的文本
要么
PP ASTE复制或当前行之前删除的文字

普通模式:查看其他答案。

防爆方式:

  • :t.将复制该行,
  • :t 7将在第 7 行之后将其复制
  • :,+t0将在文件开头复制当前行和下一行( ,+是范围.,.+1的同义词),
  • :1,t$将复制从开始到光标位置到末尾的行( 1,是范围1,. . 的同义词)。

如果您需要移动而不是复制,请使用:m而不是:t

如果将它与:g:v结合使用,这将非常强大。

  • :v/foo/m$会将所有不匹配 “foo” 模式的行移到文件末尾。
  • :+,$g/^\s*class\s\+\i\+/t.将在光标之后立即复制格式class xxx所有后续行。

参考:: :help range:help :t:help :g:help :m:help :v

YPYpyyp

复制并粘贴到vim中

没有比这更简单的了!在普通模式下:

yy

然后移至您要粘贴到的行

p

Y Y

将取消当前行而不删除它

d d

将删除当前行

p

put通过任何以前的方法抢下线

做这个:

首先, y y复制当前行,然后p粘贴。

如果您想要其他方式:

"ayy :这会将行存储在缓冲区a

"ap :这会将缓冲区a的内容放在光标处。

有很多变化。

"a5yy :这会将 5 行存储在缓冲区a

请参阅 “ Vim 帮助文件,以获取更多乐趣。

Y Y p - 具有记得 “YIPPEE!”

多行,中间有数字:

y 7 y p

y y p-在之后粘贴

Y Y P - 粘贴前

您也可以尝试 ,它将重复插入模式的最后一行,并为您提供包含所有行的完成窗口。它几乎像