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


当前回答

默认值是yyp,但我已经使用此重新绑定一年左右了,并且很喜欢它:

“将Y设置为复制行,也可以在视觉模式下工作。nnoremap Y年vnoremap Y Y`>pgv

其他回答

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

我喜欢:Shift+v(立即选择整条线,如果需要,可以选择其他线),y,p

对于不了解vi的人,上面的一些答案可能会用“粘贴…在当前行之后/之前”等短语误导他。它实际上是“粘贴…在光标之后/之前”。yy或Y复制行或dd删除该行

then

p将复制或删除的文本粘贴到光标后或P将复制或删除的文本粘贴到光标之前

有关更多密钥绑定,您可以访问以下站点:vi完整密钥绑定列表

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

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

或者,对于插入模式:

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

对于那些开始学习vi的人来说,这里是一个很好的vi介绍,并列列出了典型的Windows GUI编辑器光标移动和快捷键的vi命令。它列出了所有基本命令,包括yy(复制行)和p(粘贴后)或p(粘贴前)。

Windows用户的vi(Vim)