如何在Vim中复制整行,方法与IntelliJ IDEA/Resharper中的Ctrl+D或Ctrl+Alt类似+↑/↓ 在Eclipse中?


当前回答

另一种选择是:

nmap <C-d> mzyyp`z

提供了保留光标位置的优点。

其他回答

1 gotcha:当您使用“p”放置行时,它会将其放置在光标所在的行之后,因此如果您想在拖动的行之后添加行,请不要在放置新行之前将光标向下移动一行。

如果您想复制一行并将其粘贴到当前行的下方,就像Sublime Ctrl+Shift+D中一样,那么可以将其添加到.virc文件中。

nmap<S-C-d><Esc>Yp

或者,对于插入模式:

imap<S-C-d><Esc>Ypa

YP或YP或yyp。

您也可以尝试<C-x><C-l>,它将重复插入模式中的最后一行,并为您带来一个包含所有行的完成窗口。它的工作原理几乎类似于<C-p>

如果您想要其他方式:

“ayy:这将把该行存储在缓冲区a中。

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

这一点有很多不同之处。

“5年:这将在缓冲区a中存储5行。

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