使iTerm翻译'元键'与其他操作系统相同

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

94440 次浏览

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

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

Emacs在Mac OS X上的豹键绑定

  1. 打开“Preferences"()→ProfilesKeysGeneral选项卡。
  2. 设置Left Option key:作为Esc+

在Emacs中适用于我,尽管我不确定它是否会有任何其他不良影响。

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

左选项键作为+Esc

enter image description here

在irssi也很管用。

书签>管理配置文件。然后选择键盘配置文件>全局配置,选择选项键作为元。这在0.9.6.1201版本中适用。

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

在iTerm Build 0.9.5.0611 &构建0.9.6.20090415

我在stackoverflow上也找到了一些解决方案,只需进入键盘配置文件,在“全局”中将“选项键”更改为“+ESC”

这对我来说是完美的=)顺便说一句,一些术语补丁也存在,看看这里:http://www.emacswiki.org/emacs/EmacsForMacOS

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

这篇文章得到了它的工作,因为你想为我,为M-b和M-f,同时保持“选项键作为元”设置,所以你不会牺牲一个修饰符(我有vim映射使用元,个人)。

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

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

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

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

下面是对我有用的:书签>管理配置文件>键盘配置文件>全局/xterm >选项键as +Esc。有了这个,我可以在Midnight Commander中使用Option+Enter和当前选择的文件/目录名称显示在命令字符串中,因为它应该。选项键作为元没有为我工作。我的iTerm版本是0.10。

对于iTerm2用户来说,这个答案只是部分解决了这个问题。

Cmd +。ProfilesKeys,选择Left option Key acts as: +Esc

除此之外,你必须去首选项 (Cmd+)➔配置文件,并在键映射中找到这些组合键: enter image description hereenter image description here。双击每个映射,并将它们的行动Cmd0更改为如下:

enter image description here

enter image description here

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

iTerm Preferences

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

它适用于iTerm版本3.3.12

我纠结于Meta + Left或Meta + Right。上下文是用于iTerm2会话中使用的Emacs中的击键。

我尝试了Esc+和Meta的左选项键没有运气。我试过用和不用十六进制映射。没有运气。

但后来我尝试了“报告修饰符使用CSI u"(文件在这里)。这允许我在Emacs中使用meta + Left和meta + right键,这是我的Linux机器上的行为。

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

enter image description here