假设我想将命令:!python % <ENTER>
映射到按下键Alt Gr
和j
?
由于键盘输入在内部处理的方式,即使在 GVIM 中也无法使用许多组合键。这是一个已知的痛点,也是关于vim_dev和 #vim IRC频道的各种讨论的主题。
基本规则是:如果组合键在命令行模式下生成可见字符,则可以对其进行映射。但特别是对于 AltGr,它可能与 Alt 映射相同,具体取决于操作系统在与其他键结合使用时返回的内容。
有些人(首先是Paul LeoNerd Evans)想要解决这个问题(即使是支持此功能的终端中的控制台Vim),并提出了各种建议,cp http://groups.google.com/group/vim_dev/browse_thread/thread/626e83fa4588b32a/bfbcb22f37a8a1f8。
但截至今天,还没有补丁或志愿者站出来,尽管许多人表示希望在未来的 Vim 8 主要版本中拥有这个。
AltGr 由您的键盘驱动程序解释,因此 Vim 在修饰键方面并不知道它。但是,有两种方法可以获取 AltGr-j 的密钥代码。在插入模式下:
- 按 Ctrl-v,然后按 AltGr-j(显示文字字符代码) 按住 Ctrl-v,
- 按 AltGr-j,然后松开 Ctrl-v(显示终端代码)
结果取决于您的键盘布局。如果你只是得到j
那么你就不走运了。