Answers:
将以下行添加到您的_vimrc
或.vimrc
source $VIMRUNTIME/mswin.vim
behave mswin
但是请注意,可视模式是CTRL-Q而不是CTRL-V。
有关mswin.vim的概述,请参见 mswin.vim sourcode。它的注释非常好,如果不清楚某些命令,则可以在vim的帮助下轻松查找它。
这是从源代码编译的快速概述:
- 退格键和光标键换行到上一行/下一行
- 剪切CTRL-X和SHIFT-Del
- CTRL-C和CTRL-Insert是复制
- 粘贴CTRL-V和SHIFT-Insert
- 使用CTRL-Q可以完成CTRL-V的操作
- 在插入模式下也使用CTRL-S进行保存
- CTRL-Z为撤消;虽然不在cmdline中
- CTRL-Y是重做(尽管不重复);虽然不在cmdline中
- Alt-Space是系统菜单
- CTRL-A是全选
- CTRL-Tab是下一个窗口
- CTRL-F4是“关闭”窗口
应Nippysaurus的要求:我在.gvimrc中输入以下内容,以在菜单中的Paste之外显示Ctrl-V:
unmenu! Edit.Paste
aunmenu Edit.Paste
nnoremenu 20.360 &Edit.&Paste<Tab>Ctrl-V "+gP
cnoremenu &Edit.&Paste<Tab>Ctrl-V <C-R>+
我没有对其进行彻底的测试,只是快速检查它是否达到了我的预期。为我工作,希望它为您工作;-)
mswin.vim
已经有behave mswin
电话了。我有必要自己再次致电_vimrc
吗?
behave mswin
,它也能正常工作,至少在使用Vim 8.0的系统上是如此。
如果要使用“标准”热键来执行“剪切/复制/粘贴”操作,但又不想更改gvim中的任何其他配置选项,请尝试将以下内容添加到中~/.vimrc
。
vmap <C-c> "+yi
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <C-r><C-o>+
粘贴仅在可视模式和插入模式下有效,因此您不必担心与Ctrl-V和逐块可视模式发生冲突。这不是问题,因为“复制并剪切”使您进入了插入模式,因此您可以在以后立即粘贴。如果尝试一下,您会发现它感觉完全自然。
经过几次迭代调整后,我想到了这种配置,现在我认为它是“完美的”。如果您甚至对当前的复制/粘贴配置不满意,请尝试一下,我敢打赌,您一定会喜欢的。
:help i_ctrl-r_ctrl-o
,我决定改变imap <C-v> <ESC>"+pa
到imap <C-v> <C-r><C-o>+
; 当光标位于行的第一个字符的左侧时,这可以按预期工作,并且它最接近于模仿“标准”行为。
<C-v>
似乎在我的机器上快得多的shift + insert。但是在项目的中间,现在不想重新启动vim。只是分享
我认为您可以使用:imap命令添加此命令(仅在可行的Windows中使用Ctrl + X对其进行了尝试,但是按ctrl + c似乎取消了该命令,因此您可能必须在vimrc中这样做)。
:imap <C-X> "+x
:imap <C-C> "+y
:imap <C-V> "+gP
如果将其添加到〜/ .vimrc,则只需删除imap前面的:。
imap仅在插入模式下添加绑定,因此您可能希望将其更改为map或其他内容。调查:help mapmode
以了解有关重新映射和取消映射内容的更多信息。
祝好运!