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


当前回答

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

其他回答

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

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

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

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

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

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

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

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

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

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