我可以看到Ctrl+左/右跳转到行首/行尾。如何将此更改为Cmd+左/右箭头?


当前回答

对我来说,以下组合是有效的:

Key Action Esc+ End result
Send Escape Sequence a Send ^[ a
Send Escape Sequence e Send ^[ e

其他回答

按照上面列出的教程在iterm2中设置关键首选项。

创建一个新的快捷键 选择“发送转义序列”作为动作 然后,设置cmd-left,在下面的文本中: 输入[H为line start 或 输入[F为行结束

Bind -p将显示shell中绑定转义键的列表,这可能有助于为您提供更多的想法/搜索词。

要在iTerm2中的单词和行首/行尾之间跳转,请从下面两个解决方案中选择一个。

1. 简单解决方案(推荐)

开放的偏好 点击“个人资料”页签 在左侧列表中选择一个配置文件(如“默认”) 点击“按键”页签 点击“Key Mappings”选项卡(如果存在的话) 点击“预设”下拉菜单,选择“自然文本编辑”

注意:如果你有几个配置文件(例如默认和热键窗口),并希望对所有配置文件应用相同的修改,请使用以下步骤:

点击“按键”页签 选择“按键绑定”


2. 手动映射键(高级)

如果你不想使用上面提到的“自然文本编辑”预设,你可以手动映射你需要的键:

开放的偏好 点击“个人资料”页签 在左侧列表中选择一个配置文件(如“默认”) 点击“按键”页签 点击“Key Mappings”选项卡(如果存在的话) 点击[+]图标 从下面的表格中添加快捷方式

SHORTCUT DESCRIPTION ACTION SEND
⌘ ← Jump left to beginning of line "SEND HEX CODE" 0x01
⌘ → Jump right to end of line "SEND HEX CODE" 0x05
⌘ ← Delete Delete line "SEND HEX CODE" 0x15
⌥ ← Jump left to beginning of word "SEND HEX CODE" 0x1b 0x62
⌥ → Jump right to end of word "SEND HEX CODE" 0x1b 0x66
⌥ ← DELETE Delete word "SEND HEX CODE" 0x1b 0x08
⌘ z Undo "SEND HEX CODE" 0x1f

Note

如果上述快捷键的键盘绑定已经存在,则必须将其删除,以便新的快捷键生效。

老式的emacs绑定仍然可以在iterm2和os x终端中工作:

首选项->配置文件->键(配置文件中的子选项卡)

设置左/右选项<kbd> </kbd>键作为+Esc(类似于os x终端)

这应该启用alt-f和alt-b逐字移动单词。(ctrl-a和ctrl-e仍然正常工作)

如果设置为元,这些旧的绑定将工作,而一些iterm2绑定不可用。

详见https://aaronaddleman.com/articles/hexcodes-and-iterm/

您可以使用XXD -psd来获取密钥十六进制代码。