微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在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

原文地址:https://www.jb51.cc/vim/386481.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐