是否可以在Vim中以插入模式粘贴?
当前回答
在插入模式下按CTRL-R {register}
例子:
CTRL-R *将插入剪贴板的内容 CTRL-R”(未命名寄存器)插入最后的删除或拉取。
要在vim的帮助中找到它,键入:h i_ctrl-r
其他回答
不,不直接。你能做的是快速退出插入模式,使用Ctrl-O进行一个普通模式的操作,然后从那里粘贴,这将使你回到插入模式。
组合键:Ctrl-O p
编辑:有趣。正如其他几个人所列出的那样,似乎是有办法的。
是的。在Windows中,Ctrl+V和Linux中几乎同时按下两个鼠标按钮。
在Windows中,我认为我的_vimrc中的这一行可能做到了:
source $VIMRUNTIME/mswin.vim
在Linux中,我不记得我是怎么做到的。看起来我可能从默认的.vimrc文件中删除了一些行。
如果你设置Vim使用系统剪贴板(:set clipboard= named),那么你在Vim中复制的任何文本都可以使用Shift + Insert进行粘贴。Shift + Insert只是一个操作系统范围内的粘贴键组合(Ctrl + Insert是对应的“复制”)。
如果不希望Vim破坏传入粘贴文本的格式,可能还需要考虑使用::set paste。这将防止Vim重新标记您的代码。当粘贴完成时,:set nopaste将恢复正常行为。
你也可以用一个键来切换模式,比如在你的.vimrc中添加set pastetoggle=<F2>。关于切换自动缩进的更多细节在这里。
插入模式粘贴
在这种情况下,自定义映射似乎比较合适。这是我在插入模式中粘贴拉拽项的方法:
inoremap <Leader>p <ESC>pa
我的领袖键是\;这意味着在插入模式下点击\p将粘贴之前被拉出的项/行。
推荐文章
- 在Vim/Vi中,如何将光标移动到前一个单词的末尾?
- 如何在vim中自动删除尾随空格
- 为什么Vim使用~扩展名保存文件?
- 如何在Vim或Linux中将空格转换为制表符?
- 我如何使用vimdiff来解决git合并冲突?
- 在Vim中删除当前缓冲区的文件名/路径
- Git在终端提交时打开VIM,但无法返回终端
- 请参阅编辑器中的换行符和回车
- 如何在NERDTree中显示隐藏文件(以句点开始)?
- 如何复制一个选择到OS X剪贴板
- 如何删除(不削减)在Vim?
- Vim:在可视模式下快速选择文本块的方法
- 是否有vim命令来重新定位一个选项卡?
- MacVim和普通Vim有什么区别?
- 有什么方法可以在Vim中查看当前映射的键吗?