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


当前回答

正如这里所解释的,你可以通过简单的步骤来做到:

默认情况下,单词跳转(option +→或←)和单词删除(option + 退格键)不工作。要启用这些,请转到“iTerm→Preferences→” 配置文件→按键→加载预设…→自然文本编辑→Boom!头 爆炸”

其他回答

只是为了帮助那些有同样问题的人,特别是使用Zsh shell和iTerm 2。原来Zsh不能正确地读取/etc/inputrc,因此无法理解您通过首选项设置的任何键绑定!

为了解决这个问题,你需要在你的.zshrc文件中添加一些键绑定,比如:

# key bindings
bindkey "\e[1~" beginning-of-line
bindkey "\e[4~" end-of-line

注意上面例子中“e”前面的反斜杠,链接的文章没有显示它们,所以在添加绑定时将它们添加到.zshrc文件中。

在iTerm2中添加以下配置文件快捷键

FOR ACTION SEND
⌘ ← "SEND HEX CODE" 0x01
⌘ → "SEND HEX CODE" 0x05
⌥ ← "SEND ESC SEQ" b
⌥ → "SEND ESC SEQ" f

这里有一个视觉给那些需要它的人

在iTerm 3.0.12中,您可以切换到自然文本编辑预设:

iTerm→首选项→配置文件→键

警告因为它是一个预设,它可以覆盖你之前绑定的键。因此,最好在应用预设之前保存当前的键绑定。

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

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

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

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

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

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

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