如何在Vim中复制整行,方法与IntelliJ IDEA/Resharper中的Ctrl+D或Ctrl+Alt类似+↑/↓ 在Eclipse中?
当前回答
另一种选择是:
nmap <C-d> mzyyp`z
提供了保留光标位置的优点。
其他回答
如果您想要其他方式:
“ayy:这将把该行存储在缓冲区a中。
“ap:这将把缓冲区a的内容放在光标处。
这一点有很多不同之处。
“5年:这将在缓冲区a中存储5行。
请参阅“Vim帮助文件以获取更多乐趣。
我知道我参加晚会迟到了,但不管怎样;我的vimrc里有这个:
nnoremap <C-d> :copy .<CR>
vnoremap <C-d> :copy '><CR>
:copy命令只是将选定的行或范围(始终是整行)复制到作为其参数的行号以下。
在正常模式下,这是复制。将此行复制到此行的正下方。
在视觉模式下,它变成“<,'>复制”>从选择开始到选择结束,复制到选择结束下面的行。
执行以下操作:
首先,yy复制当前行,然后p粘贴。
1 gotcha:当您使用“p”放置行时,它会将其放置在光标所在的行之后,因此如果您想在拖动的行之后添加行,请不要在放置新行之前将光标向下移动一行。
正常模式:参见其他答案。
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
推荐文章
- 我如何使用vimdiff来解决git合并冲突?
- 将GNU屏幕滚动缓冲区复制到一个文件(扩展硬拷贝)
- 在Vim中删除当前缓冲区的文件名/路径
- Git在终端提交时打开VIM,但无法返回终端
- 请参阅编辑器中的换行符和回车
- 如何在NERDTree中显示隐藏文件(以句点开始)?
- 如何复制一个选择到OS X剪贴板
- 如何删除(不削减)在Vim?
- Vim:在可视模式下快速选择文本块的方法
- 是否有vim命令来重新定位一个选项卡?
- MacVim和普通Vim有什么区别?
- 如何使Sublime Text成为Git的默认编辑器?
- 有什么方法可以在Vim中查看当前映射的键吗?
- 同一行上有多个命令
- 如何将所有文本转换为小写在Vim