将 Ctrl-Shift-V 映射到 vi 中的操作

Jet*_*gel 6 windows keyboard-shortcuts vim

我希望能够使用 Ctrl-Shift-V 从 Windows 上的 gVim 上的剪贴板粘贴,就像在终结者中一样。

但是,如果我把它放在我的 .vimrc 上

 imap <C-S-V> "+gP
Run Code Online (Sandbox Code Playgroud)

快捷方式无需移位即可工作,这意味着我可以使用简单的 Ctrl-V 粘贴文本。这覆盖了已经存在的功能,有没有办法只用 Ctrl-Shift-V 粘贴?

Ben*_*Ben 7

Vim可以看不到的区别<C-V><C-v><C-S-V>

如果您想要区分大小写的映射,您需要使用未修改的字符或 Alt 键(例如<A-v><M-v>不同于<A-V><M-V>)。


Ing*_*kat 5

由于键盘输入的内部处理方式,不幸的是,这在今天通常是不可能的,即使在 GVIM 中也是如此。某些组合键,例如Ctrl+ 非字母组合无法映射,并且无法区分Ctrl+ 字母与Ctrl+ + 字母。Shift(除非您的终端为其发送不同的termcap代码,而大多数终端都不会。)在插入或命令行模式下,尝试键入组合键。如果没有发生/插入,则无法使用该组合键。这也适用于<Tab>/ <C-I><CR>/ <C-M>/ <Esc>/<C-[>等(唯一例外是<BS>/ <C-H>。)这是一个已知的痛点,也是 vim_dev 和 #vim IRC 频道上各种讨论的主题。

有些人(首先是 Paul LeoNerd Evans)想要解决这个问题(即使是支持此功能的终端中的控制台 Vim),并提出了各种建议,cp。http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8

但截至今天,还没有补丁或志愿者主动提出,尽管许多人表示希望在未来的 Vim 8 主要版本中提供此功能。