在 Emacs 中,我可以按Ctrl-h, k, 来描述一个键。即使键名未定义,我也可以获取该键名,例如,
C-x <C-M-end> is undefined
因此,我知道了密钥名称是C-x <C-M-end>
。
但是如何获取 Vim 的键名呢?
我想为Ctrl-Shift-V和设置一个键盘映射Shift-Insert,但我应该使用什么代码?
是否有可能即时获取密钥名称?
答案1
我能找到最接近describe-key
(Ctrl+ H,K)的是:map
命令。它将列出所有映射。
您也可以运行:map <key name>
,但必须<key>
使用中列出的特殊语法进行指定
主调符号。
或者您可以尝试:map
Ctrl+ V<key>
,它应该允许您直接按下键,而不需要使用特殊语法。
因此,要绑定Ctrl++ Shift,V请尝试以下操作:
:map <C-S-v> whatever
或者
:map
Ctrl+ V Ctrl+ Shift+V whatever
但请确保你的终端程序还没有将其用于粘贴等特殊操作,否则 Vim 将永远看不到按键。
另请参阅地图 Alt 键,这有助于解释您的Alt密钥是否应该写为<M-x>
或<A-x>
。
答案2
为了找出 Vim 中某个键或组合键的输出,我通常会用“ :enew
”打开一个空白缓冲区,进入插入模式,按control-v,然后按我想要识别的键或组合键。此 control-v 技巧也可以在 :-命令行上使用,因此定义用于测试的映射相当容易。例如,“ :map
”control-v和组合键“ :echo 'it works'
”。
答案3
只需即时输入Ctrl+V并输入您想要按的键。如果您没有找到预期的结果(例如<c-space>
、<c-cr>
、<M-i>
、...),则意味着您正在使用 vim 而不是 gvim。vim 理解键入的键的方式与您的终端配置有关。gvim 使用其自己的定义,因此无需配置。