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


当前回答

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

Windows用户的vi(Vim)

其他回答

yyp-记住“yippee!”

多行之间有数字:

y7yp

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

then

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

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

我更喜欢在.vimrc中定义自定义键映射Ctrl+D,以在正常模式和插入模式下复制当前行:

" duplicate line in normal mode:
nnoremap <C-D> Yp
" duplicate line in insert mode:
inoremap <C-D> <Esc> Ypi

再简单不过了!从正常模式:

yy

然后移动到要粘贴的行,然后

p

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

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