我正在尝试将Ctrl和加号映射在一起。这是我在vimrc中尝试的方法:

nnoremap <C-=>    : echo "Hello" <CR> 


但是似乎未触发映射。
关于我可能在做什么的任何建议错误?我正在使用macvim。

评论

常见问题解答20.4和20.5

似乎这种问题越来越常见:VIM如何映射组合键:ctrl + shift + w +,

@mMontu是的,这是一个很常见的问题。我想问一下关于vim的内部字符,术语代码以及vim可以/不可以映射的内容的规范文章是否是个好主意。

#1 楼

不幸的是,没有可靠的Ctrl- =映射方式。

由于ctrl+key和弦与终端交互并在内部表示的方式,保证Vim能够检测到的唯一Ctrl-映射是ASCII标准中定义的。这是此类ctrl+key组合的完整列表,每个字节代表一个字节。

Ctrl-@                 0x00            NUL
Ctrl-A to Ctrl-Z       0x01 to 0x1A
Ctrl-a to Ctrl-z       0x01 to 0x1A
Ctrl-[                 0x1B            ESC
Ctrl-\                 0x1C
Ctrl-]                 0x1D
Ctrl-^                 0x1E
Ctrl-_                 0x1F
Ctrl-?                 0x7F            DEL


但是,请注意,大多数这些功能在Vim中已经具有功能,并且某些功能与其他按键基本相同/无法区分。例如CTRL-M具有与Enter相同的键码,因此,如果您映射任何一个,则也不可避免地映射了另一个。通过将终端配置为发送一定的字节序列以进行映射来避免上述限制,就像在此堆栈溢出线程中那样,但这肯定很痛苦。就我个人而言,我宁愿选择一个不同的映射。

这最终可能会得到解决,但是不太可能,因为Vim依赖于运行的终端。但是,很有可能在Vim中运行Neovim。我不知道现在是否行得通。

评论


很好,将来我会与人们联系起来。

– Tumbler41
16年7月19日在18:19