如何在Vim中复制整行,方法与IntelliJ IDEA/Resharper中的Ctrl+D或Ctrl+Alt类似+↑/↓ 在Eclipse中?
当前回答
如果您想复制一行并将其粘贴到当前行的下方,就像Sublime Ctrl+Shift+D中一样,那么可以将其添加到.virc文件中。
nmap<S-C-d><Esc>Yp
或者,对于插入模式:
imap<S-C-d><Esc>Ypa
其他回答
我更喜欢在.vimrc中定义自定义键映射Ctrl+D,以在正常模式和插入模式下复制当前行:
" duplicate line in normal mode:
nnoremap <C-D> Yp
" duplicate line in insert mode:
inoremap <C-D> <Esc> Ypi
您也可以尝试<C-x><C-l>,它将重复插入模式中的最后一行,并为您带来一个包含所有行的完成窗口。它的工作原理几乎类似于<C-p>
yyp-粘贴后
yyP-粘贴之前
1 gotcha:当您使用“p”放置行时,它会将其放置在光标所在的行之后,因此如果您想在拖动的行之后添加行,请不要在放置新行之前将光标向下移动一行。
对于那些开始学习vi的人来说,这里是一个很好的vi介绍,并列列出了典型的Windows GUI编辑器光标移动和快捷键的vi命令。它列出了所有基本命令,包括yy(复制行)和p(粘贴后)或p(粘贴前)。
Windows用户的vi(Vim)
推荐文章
- 我如何使用vimdiff来解决git合并冲突?
- 将GNU屏幕滚动缓冲区复制到一个文件(扩展硬拷贝)
- 在Vim中删除当前缓冲区的文件名/路径
- Git在终端提交时打开VIM,但无法返回终端
- 请参阅编辑器中的换行符和回车
- 如何在NERDTree中显示隐藏文件(以句点开始)?
- 如何复制一个选择到OS X剪贴板
- 如何删除(不削减)在Vim?
- Vim:在可视模式下快速选择文本块的方法
- 是否有vim命令来重新定位一个选项卡?
- MacVim和普通Vim有什么区别?
- 如何使Sublime Text成为Git的默认编辑器?
- 有什么方法可以在Vim中查看当前映射的键吗?
- 同一行上有多个命令
- 如何将所有文本转换为小写在Vim