在带有emacs键绑定的bash shell中,可以使用M-f、M-b等组合键分别在shell提示符上向前或向后移动一个单词。在Windows和Linux操作系统中,通常将meta键映射为Alt键。但是,在iTerm中,我找不到一种方法将这个元键映射到我的MacBook Pro上的Option或Command键。

似乎在OS X中,元键默认映射到ESC键。你可以在iTerm上使用ESC-f和ESC-b。然而,ESC键显然不实用。此外,iTerm确实有选项,允许你修改映射元键(Bookmarks > Profiles > Keyboard Profiles > Global > option key as…),这个设置似乎根本不起作用。

因此,如果有人知道这个问题的解决方案,请告诉我。

我已经升级到最新版本,0.9.6.1012,这种行为仍然存在。

编辑:对我的问题做一些澄清。我所说的键绑定是针对bash shell的,而不是emacs。缺省情况下,bash shell也使用与emacs相同的键绑定。


当前回答

转到你的iTerm首选项选择“profiles”,然后选择“key”,在“自然文本编辑”中更改预设值

之后应该马上就能工作了。

它适用于iTerm版本3.3.12

其他回答

将选项键设置为ESC+的常见答案,并没有为我开箱即用。在某种程度上,我意识到它不仅仅在打开浮动项终端(使用F12)时才工作。修复它的技巧是设置选项键ESC+也为“热键窗口”配置文件。

去书签>管理配置文件。选择“Keyboard Profiles > Global”,选择“Option Key”为“+ESC”。

适用于iTerm Build 0.9.5.0611和Build 0.9.6.20090415

我不了解iTerm,但你可以在终端中这样做。使用说明可以在这里找到:

Emacs在Mac OS X豹键绑定

在iTerm2中更容易。转到首选项->书签->键盘,选择选项发送+ESC。在iTerm2中,可以分别配置左选项键和右选项键,所以如果需要的话,请记住更改这两个选项键。iTerm2的链接:http://sites.google.com/site/iterm2home/

这里有僵尸复活,但为了子孙后代

这篇文章让它像你想要的那样为我工作,为M-b和M-f,同时保持“Option Key as Meta”设置,这样你就不会牺牲一个修饰符(我个人有使用Meta的vim映射)。

总之,在你的全局键盘配置文件中,添加两个新的映射设置:

键作为十六进制代码,值62为b, 66为f (man ascii) 修饰符为选项 动作作为发送转义序列,值b或f

这是我在航站楼唯一怀念的东西。应用程序是Opt-Backspace删除字。有其他的解决办法,但我只是试图训练自己使用Ctrl-w。