在带有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相同的键绑定。


当前回答

鼠标悬停在“应用程序可以改变这一点”上的这条小提示让我感觉完全不同:

在尝试了几个小时以上的所有选项后,它就像设置“右选项键”Esc+一样简单(尽管我是按左键)。

其他回答

试试“export LANG=C”。我不是emacs专家,但我发现这使得OS X上的emacs能够将选项键识别为iTerm中的元键,

去书签>管理配置文件。然后选择“Keyboard Profiles > Global”,选择“Option Key as Meta”。这在0.9.6.1201版本中适用。

鼠标悬停在“应用程序可以改变这一点”上的这条小提示让我感觉完全不同:

在尝试了几个小时以上的所有选项后,它就像设置“右选项键”Esc+一样简单(尽管我是按左键)。

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

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

它适用于iTerm版本3.3.12

在菜单栏Iterm2 => Preferences => Profiles选择keys选项卡并选择

左选项键作为+Esc

在irssi也很管用。