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


当前回答

yyp-记住“yippee!”

多行之间有数字:

y7yp

其他回答

yy或Y复制行(助记符:yank)或dd删除行(Vim将您删除的内容复制到剪贴板中,如“注册”,如剪切操作)

then

p将复制或删除的文本粘贴到当前行之后或Shift+P将复制或删除的文本粘贴到当前行之前

yyp-记住“yippee!”

多行之间有数字:

y7yp

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

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

如果您想要其他方式:

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

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

这一点有很多不同之处。

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

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

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

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