195

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

似乎在 OS X 中,元键默认映射到 ESC 键。所以你可以在iTerm上使用ESC-f、ESC-b。但是,ESC 键显然不实用。此外,iTerm 确实具有允许您修改元键映射的选项(书签 > 配置文件 > 键盘配置文件 > 全局 > 选项键为...),此设置似乎根本不起作用。

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

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

编辑:对我的问题进行一些澄清。我正在谈论的键绑定是针对 bash shell,而不是在 emacs 中。碰巧的是,默认情况下,bash shell 也使用与 emacs 相同的键绑定。

4

13 回答 13

238

Cmd+., Profiles,Keys并选择Left option Key acts as: +Esc

在 emacs 中为我工作,但我不确定它是否会产生任何其他不良影响。

于 2008-10-13T09:27:33.360 回答
132

转到书签 > 管理配置文件。然后选择Keyboard Profiles > Global并选择Option Key 作为 Meta。这适用于我的版本 0.9.6.1201。

于 2009-01-13T13:12:53.963 回答
31

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

左 Option 键充当 +Esc

在此处输入图像描述

在 irssi 也为我工作。

于 2008-12-06T05:08:23.843 回答
16

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

Cmd+., Profiles,Keys并选择Left option Key acts as: +Esc

除此之外,您必须转到Preferences ( Cmd+ ,) ➔ ProfilesKeys并在Key Mappings中找到这些Key Combination的:在此处输入图像描述在此处输入图像描述。双击每个映射并将其ActionEsc+更改为以下内容:

在此处输入图像描述

在此处输入图像描述

于 2020-02-05T16:20:59.373 回答
6

转到您的 iTerm 首选项,选择“配置文件”,然后选择“键”并在“自然文本编辑”中更改您的预设

iTerm 偏好

它应该在之后立即工作。

它适用于 iTerm 3.3.12 版

于 2020-08-13T21:37:53.950 回答
4

在这里进行所有的僵尸复活,但为了后代——

这篇文章让它如你所愿,为 Mb 和 Mf 工作,同时保持 'Option Key as Meta' 设置,这样你就不会牺牲修饰符(我个人有使用 meta 的 vim 映射)。

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

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

Terminal.app 中我唯一想念的就是Opt-Backspace逐字删除。还有其他解决方法,但我只是想训练自己使用Ctrl-w.

于 2010-12-06T18:33:51.743 回答
4

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

于 2010-12-31T20:44:23.507 回答
3

转到书签 > 管理配置文件。然后选择键盘配置文件 > 全局并选择选项键作为 +ESC。

在 iTerm Build 0.9.5.0611 和 Build 0.9.6.20090415 中工作

于 2009-07-01T00:13:20.227 回答
2

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

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

于 2010-09-25T02:46:17.617 回答
0

我不了解 iTerm,但您可以在终端中执行此操作。说明可以在这里找到:

Mac OS X Leopard 上的 Emacs 键绑定

于 2008-10-13T03:57:39.750 回答
0

这对我有用:书签>管理配置文件>键盘配置文件>全局/xterm>选项键为+ Esc。有了这个,我可以在 Midnight Commander 中使用 Option+Enter 并且当前选择的文件/目录名称显示在命令字符串中,正如它应该的那样。作为 Meta 的选项键对我不起作用。我的 iTerm 版本是 0.10。

于 2011-07-18T03:24:00.770 回答
0

我在 Meta + Left 或 Meta + Right 上苦苦挣扎。上下文是在 iTerm2 会话中使用的 Emacs 中的击键。

我尝试了 Esc+ 和 Meta 作为左选项键,但没有成功。我尝试使用和不使用十六进制映射。没运气。

但后来我尝试了“使用 CSI u 报告修饰符”。(此处的文档)。这让我可以在 Emacs 中使用 meta + Left 和 meta + right 键,这是我在我的 Linux 机器上的行为。

于 2021-03-03T19:59:06.340 回答
-2

尝试“导出 LANG=C”。我不是 emacs 专家,但我发现这使 OS X 上的 emacs 能够将 Option 键识别为 iTerm 中的 Meta 键,

于 2008-10-13T03:15:00.740 回答