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


当前回答

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

Windows用户的vi(Vim)

其他回答

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

如果您想要其他方式:

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

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

这一点有很多不同之处。

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

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

另一种选择是:

nmap <C-d> mzyyp`z

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

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

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

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

then

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

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