我最近刚刚从bash切换到zsh,但我错过了我的Alt+LeftArrowKey和Alt+RightArrowKey来回一次一个字。

现在,如果我按Alt+LeftArrowKey,我就会返回几个字母,然后就卡住了。我不会再往前走了,它不会像我期望的那样,用Alt+RightArrowKey回到行尾。我甚至不能用方向键到行末,只能到倒数第二。不能在行上输入新的字符,也不能删除。

我如何找回我心爱的捷径?

我在Mac OS X上使用终端,如果这很重要的话。


当前回答

将以下内容添加到~/。zshrc为我在OSX Mountain Lion工作过。

bindkey -e
bindkey '[C' forward-word
bindkey '[D' backward-word

其他回答

这些键绑定与Arch Linux上的Alacritty一起工作,只需将它们添加到~/。zshrc中

bindkey -e

bindkey "^[[3~" delete-char                     # Key Del
bindkey "^[[5~" beginning-of-buffer-or-history  # Key Page Up
bindkey "^[[6~" end-of-buffer-or-history        # Key Page Down
bindkey "^[[H" beginning-of-line                # Key Home
bindkey "^[[F" end-of-line                      # Key End
bindkey "^[[1;3C" forward-word                  # Key Alt + Right
bindkey "^[[1;3D" backward-word                 # Key Alt + Left

在Mavericks(10.9.4)上,代码是1;5…所以为了绑定alt和箭头,我有我的.zshrc使用:

bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word

您可以使用CTRL+V,然后使用您想使用的命令

在优胜美地使用罗伯的解决方案

将以下内容添加到~/。zshrc为我在OSX Mountain Lion工作过。

bindkey -e
bindkey '[C' forward-word
bindkey '[D' backward-word

对于iTerm,转到截图显示的地方,选择“自然文本编辑”

如果您已经有了一些键映射,它将在下面询问,因此选择不要丢失您之前设置的任何特殊绑定。但是,如果你不记得添加任何绑定,或者刚刚开始使用iTerm(在这台机器上),你可以安全地选择“删除”。

如果你在CSI u模式下使用iTerm,你的.zshrc的绑定最终是:

bindkey '^[[1;3D' backward-word
bindkey '^[[1;3C' forward-word