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


当前回答

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

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

其他回答

yyp-粘贴后

yyP-粘贴之前

我喜欢使用此映射:

:nnoremap yp Yp

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

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

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

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

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

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

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

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

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