我注意到iTerm2提供了使用“Option key as + ESC”(或者作为meta,但显然已经过时)的非常方便的功能。
我尝试了它们,并且选项键在Bash(set -o emacs
模式)和Emacs中按预期工作,但在Vim中没有。因此,我不能使用任何“M-”绑定。
我发现的是:
“M-”映射在MacVim(7.3.53)中完美运行,但这不在控制台之内,不在本问题的范围内。
我对如何使这些映射在Vim,iTerm2或Terminal下工作感兴趣。
我的规格:
答案 0 :(得分:9)
我已经下载了最新的iTerm2,并尝试使用以下设置查看Vim(i<C-v><M-a>
)发送的内容/内容:
选项作为选项:
Vim打印æ
,这在我的法语键盘上是正常的和预期的
选项为Meta:
Vim待在那儿,等待一些事情发生。什么都没打印。如果按顺序按Option和a
,我只需获取a
。以某个随机顺序按选项和a
可能会打印á
,这很奇怪且完全出乎意料。
选项为+ ESC:
Vim打印^[a
,意思是“逃脱角色后跟角色a”。
从这些测试看来,如果没有一些假想的黑魔法,Vim将永远不会收到<M->
。
如果您坚持使用“Option as + ESC”,您似乎必须将所有自定义<M-something>
映射更改为<Esc>something
。这可能有用,但它会使用任何非英语语言编写任何类型的散文都是痛苦的。
我的操作:我保留Option键,以便我可以轻松输入œ…«»
之类的字符,然后使用<Leader>
(映射到,
,请参阅{{1} })我的所有自定义映射。
这里的一些人喜欢为插件预留它,并提倡一种更简单,更安全的方法。
:help mapleader
答案 1 :(得分:4)
我将我的选项键作为Normal,并发现Vim将它们视为<T-
绑定。因此,例如,我在.vimrc中有这个映射设置,以便在插入模式下移动到单词的结尾:
noremap! <T-Right> <C-o><Right>;