vim – 如何映射Ctrl A和Ctrl Shift A不同?

在终端中,不能区分Ctrl A和Ctrl Shift A,因为它们都发出相同的键代码,所以我可以看到为什么vim不能做到。但是作为一个X应用程序,gvim可以区分Ctrl A和Ctrl Shift A.那么有什么办法来映射这两种东西不同?

对于启动器,我想做类似下面的事情,使“粘贴从剪贴板”工作像gnome终端,同时保持Ctrl V的视觉模式。

:nmap <C-S-V> "+gP
Gvim不这样做,因为vim不能做(在正常情况下)。对不起,这只是它是怎么回事。

然而…

一些终端(例如,xterm和iterm2)可以被配置为发送用于任何键组合的任意转义序列。

例如,将以下内容添加到.xresources以便为xterm发送< Esc> [65; 5u for CtrlShiftA。然后,您可以将它映射到Vim到< C-S-a&gt ;. (65是shift-a的十进制Unicode值,5是ctrl修饰符的位,在这种情况下,u代表“unicode”。)

! .Xresources
XTerm*vt100.translations: #override Ctrl ~Meta Shift <Key>a: string(0x1b) string("[65;5u")

iTerm和[u] rxvt也可以配置为这样做(未提供示例)。

更多信息:http://www.leonerd.org.uk/hacks/fixterms/

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...