如何在vimrc中为keymap编码键名?

Xiè*_*léi 10 vim keymap

在 Emacs 中,我可以按Ctrl-h, k, 来描述一个键。即使未定义,我也可以获得键名,例如,

C-x <C-M-end> is undefined
Run Code Online (Sandbox Code Playgroud)

因此,我知道密钥名称是C-x <C-M-end>.

但是如何获得 Vim 的键名呢?

我想为Ctrl-Shift-Vand设置一个键盘映射Shift-Insert,但是我必须使用什么代码?

是否可以即时获取密钥名称?

Hep*_*ite 5

为了找出 Vim 中某个键或组合键输出的内容,我通常用“ :enew”打开一个空白缓冲区,进入插入模式,按control-v,然后是我想识别的键或组合键。这个 control-v 技巧也可以在 :-命令行 上工作,因此为测试定义映射是相当容易的。例如,“ :map control-v和组合键“ :echo 'it works'”。


Mik*_*kel 2

我能找到的最接近describe-key( Ctrl+ H, K) 的是:map命令。它将列出所有映射。

您也可以运行:map <key name>,但必须使用key-notation<key>中列出的特殊语法进行指定。

或者您可以尝试:mapCtrl+ V<key>,它应该让您只需按一下键即可,而无需使用特殊语法。

因此,要绑定Ctrl++ ,请尝试以下操作:ShiftV

:map <C-S-v> whatever

或者

:mapCtrl+ V Ctrl+ Shift+V whatever

但请确保您的终端程序尚未将其用于特殊的操作(例如粘贴),否则 Vim 将永远不会看到按键。

另请参阅map-alt-keys,它有助于解释您的Alt密钥是否应写为<M-x><A-x>