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


当前回答

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

yy

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

p

其他回答

另一种选择是:

nmap <C-d> mzyyp`z

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

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

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

yy

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

p

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

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

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

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

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

正常模式:参见其他答案。

Ex方式:

:t。将复制该行,:t 7将在第7行之后复制它,:,+t0将复制文件开头的当前行和下一行(,+是范围.,.+1的同义词),:1,t$将从开始到光标位置复制行到结束(1,是范围1,.的同义词)。

如果需要移动而不是复制,请使用:m而不是:t。

如果您将其与:g或:v结合使用,这将非常强大:

:v/foo/m$将将所有不匹配模式“foo”的行移动到文件末尾。:+,$g/^\s*类\s\+\i\+/t。将在光标之后复制表单类xxx的所有后续行。

参考::help range、:help:t、:help:g、:help:m和:help:v