在iTim2 / Terminal上的vim中的“M-”绑定不起作用

前端之家收集整理的这篇文章主要介绍了在iTim2 / Terminal上的vim中的“M-”绑定不起作用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我注意到 iTerm2提供使用“选项键作为ESC”(或作为元,但显然已经过时)非常方便的功能.

我尝试过它们,并且选项键按照预期在Bash(set -o emacs模式)和Emacs中工作,但不在Vim中.因此,我不能使用任何“M”绑定.
我发现这是:

>如果我将选项设置为“ESC”,vim只是了解ESC键,并不知道我实际上是指Meta-key.
>如果我将选项设置为“Meta”,用“选项”修改的键就像没有修饰符一样(不知道如何正式测试我所键入的组合中的vim).

“M-”映射在MacVim中完美地工作(7.3.53),但这不在控制台之外,而不在此问题的范围内.

我感兴趣的是如何使这些映射在Vim上工作,在iTerm2或Terminal下.

我的规格:

> MAC OS X Lion 10.7.2
> iTerm2 1.0.0.20111020
> vim @ 7.3.107_0 python26 [虽然MacPorts]

我已经下载了最新的iTerm2,并尝试使用以下设置查看发送给/ Vim(i< C-v>< M-a>)的内容.

>选项作为选项:

Vim打印在法国键盘上正常和预期的æ
>选项作为元:

维姆呆在那里,等待事情发生.没有印刷.如果我按选项和顺序我只是获得一个.按选项和一些随机顺序可能会打印á,这是奇怪的,完全意外的.
>选项作为ESC:

Vim打印^ [a表示“退出字符后跟字符a”.

从这些测试可以看出,Vim永远不会收到“M->没有一些假想的黑魔法.

如果你坚持使用“选项作为ESC”,似乎你将不得不更改所有你自定义的< M-东西>映射到< Esc>某事.这可能会工作,但它会使任何非英语语言的散文写成痛苦.

我做什么:我离开选项键,以便我可以轻松地键入字符,如œ…«»,我使用< Leader> (映射到,请参阅:help mapleader)为所有我的自定义映射.

这里的一些人喜欢保留插件,并倡导一种更简单和更安全的方法.

inoremap <leader>,<C-x><C-o> "my way (copied elsewhere)
inoremap,<C-x><C-o>        "another way

猜你在找的Bash相关文章