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


当前回答

我知道我参加晚会迟到了,但不管怎样;我的vimrc里有这个:

nnoremap <C-d> :copy .<CR>
vnoremap <C-d> :copy '><CR>

:copy命令只是将选定的行或范围(始终是整行)复制到作为其参数的行号以下。

在正常模式下,这是复制。将此行复制到此行的正下方。

在视觉模式下,它变成“<,'>复制”>从选择开始到选择结束,复制到选择结束下面的行。

其他回答

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

then

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

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

我使用这个映射,它类似于vscode。我希望它有用!!!。

nnoremap <A-d> :t. <CR>==
inoremap <A-d> <Esc>:t. <CR>==gi
vnoremap <A-d> :t$ <CR>gv=gv

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

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

或者,对于插入模式:

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

如果您想要其他方式:

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

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

这一点有很多不同之处。

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

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

我喜欢使用此映射:

:nnoremap yp Yp

因为它与原生YP命令一起使用是一致的。