让iTerm以与其他操作系统相同的方式翻译"元键"

eje*_*jel 173 macos command-line keyboard-shortcuts

在带有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相同的密钥绑定.

小智 196

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

在emacs中为我工作,虽然我不确定它是否会有任何其他不良影响.

  • 对于我的外部键盘,我必须同时设置左右选项键以使用`Esc +`,即使我使用的是左选项键,它仍然会打印出奇怪的字符。这可能是因为我在Mac键盘设置中使用了“键盘修改器”选项来更改键。 (3认同)
  • 看起来您的输入语言必须是US才能使用+ ESC选项.当我选择日语/罗马字输入法时,+ ESC对我不起作用,但是一旦我将输入语言切换到美国,它就开始工作了 (2认同)
  • 首选项,配置文件,键和选择左选项键充当:+ Esc.然后你将左选项键和Esc键都作为元键.这就是我的情况. (2认同)

Dag*_*ahl 128

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

  • 在iTerm2中,只有在我为'alt` +` - >`和`alt` +`<-`重新定义**Profile Shortcut Keys**后才能使用*Send Escape Sequence*+`f` /`b`分别. (10认同)
  • 将它设置为*Meta*对我来说不起作用,但设置为*+ Esc*确实有效... (5认同)
  • 我不得不更改xterm(OS X)条目而不是全局条目,但它现在正在运行. (2认同)

小智 23

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

左选项键作为+ Esc

在此输入图像描述

在irssi为我工作.


Kil*_*GDK 12

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

iTerm 首选项

之后应该立即起作用。

它适用于 iTerm 版本 3.3.12


M. *_*huk 11

我使用iTerm2,对我来说,这个答案只是部分解决了我的问题:

Cmd+ ,=> Profiles => Keys并选择 Left option Key 作为:+Esc

在此处输入图片说明

除此之外,我必须转到Cmd+ ,=> Profiles => Keys并在Key Mappings列表中找到两个Key Combination在此处输入图片说明在此处输入图片说明,双击它们并将它们的快捷方式更改为以下内容:

在此处输入图片说明

在此处输入图片说明

*确保选择发送转义序列操作。


nye*_*yec 9

我无法使Alt键工作,但有一种解决方法,至少使其通过光标键进行单词导航功能:

使用Alt/Option +向左或向右箭头键跳至iTerm中的下一个或上一个单词

  • 对于`backward-delete-word`(⎇-DEL)发送一个十六进制代码`0x17`,跳转到输入的开头(⌘-←)发送`0x01`,跳转到末尾(⌘-→)发送`0x05 `。 (2认同)