在iTerm2中,将左Command键映射为左Control键,并将Command+Tab键映射为相应的功能。

在iTerm2中,我可以将左边的⌘ Command键映射到左边的^ Control键,并且仍然可以将系统的⌘ Command⇨Tab键映射为切换到其他所有窗口吗? 我使用过三种不同的操作系统(Ubuntu、macOS和Windows),我的潜意识不断地想要使用⌥ Option⇨Tab键来切换窗口。
2个回答

虽然没有回答我的问题,但我在此期间发现了以下对于我最常用的终端“控制+”输入的解决方法:
  • Ctrl+C - 清除终端行
  • Ctrl+R - 反向搜索

将iTerm中的重新映射修饰符设置为默认值:

Remap modifiers in iTerm

设置 Command+R 等的按键绑定为 "发送十六进制代码:",并按照以下方式输入来自 http://ascii-table.com/control-chars.php 的十六进制代码:

enter image description here

并且,它可以像要求的那样通过按下Command+R键来实现Ctrl+R的功能... 要实现整个字母表的映射需要多个十六进制代码。

你怎么从终端复制文本? - gogaz

是的,可以在iTerm的“首选项→键盘→重新映射修饰键”中进行设置。

Keys Remap Modifier

接下来,在相同的偏好设置面板中,选择键绑定选项卡

从那里,您将看到所有当前定义的键绑定。如果未定义Control-Tab,则可以创建新的键绑定,但这是一次干净的安装,这是默认显示的内容。

iTerm Key Bindings Tab

双击“操作”描述,以修改其行为。 这将弹出一个(很长的)操作列表,您可以将其分配给键绑定。(我选择了“向前循环标签页”)

iTerm Key Bindings Sub Menu

这将配置iTerm以接受左边的⌘ Command作为^ Control,并且仅限于iTerm。⌘ Command ⇨ Tab仍然有效,但在iTerm中,您必须使用右边的⌘ Command。在iTerm之外,一切都会正常运作。 如果您正在使用Catalina,则必须在“系统偏好设置→安全性与隐私→隐私选项卡→辅助功能”下向iTerm授予辅助功能权限,如果您还没有这样做的话。

@TimWiel - 看看这个问题/回答:https://apple.stackexchange.com/q/283252/119271 - Allan
谢谢@Allan,我已经尝试过了,但很遗憾你的回答只解决了问题的一半,抱歉。因为左命令键现在映射到了控制系统的Command+Tab标准命令,但仍然无法按预期工作,因为它现在发送的是Control+Tab给iTerm,所以无法切换窗口。我怀疑我需要将Control+Tab的绑定键映射到Command+Tab,这样或许可以解决问题 - 有没有地方可以这样做? - Tim Wiel
apple.stackexchange.com/q/283252/119271的链接似乎是系统范围的重新映射-不仅仅是针对iTerm-我仍然希望在除了iTerm之外的所有其他应用程序中,左命令保持原样-谢谢! - Tim Wiel
你想要使用Control-Tab在iTerm中浏览标签页吗? - Allan
所以澄清一下,我在iTerm中将命令键映射为Control,并将Control键映射为左Command。因此,要从iTerm切换到Google Chrome,我需要按下Control+Tab,但是要从Google Chrome返回到iTerm,我需要按下Command+Tab(这是Mac系统的默认设置)。然而,我真正想要的是,在iTerm中使用Command+Tab切换到Google Chrome,但仍然将Command+C或Command+R(等等)映射为Control+C或Control+R(等等)。 - Tim Wiel
就我个人而言,我真的很讨厌Mac上的CTRL键的位置。我希望右边的⌘键在iterm2中可以作为CTRL键使用。 - aubreypwd