我最近刚刚从bash切换到zsh,但我错过了我的Alt+LeftArrowKey和Alt+RightArrowKey来回一次一个字。
现在,如果我按Alt+LeftArrowKey,我就会返回几个字母,然后就卡住了。我不会再往前走了,它不会像我期望的那样,用Alt+RightArrowKey回到行尾。我甚至不能用方向键到行末,只能到倒数第二。不能在行上输入新的字符,也不能删除。
我如何找回我心爱的捷径?
我在Mac OS X上使用终端,如果这很重要的话。
我最近刚刚从bash切换到zsh,但我错过了我的Alt+LeftArrowKey和Alt+RightArrowKey来回一次一个字。
现在,如果我按Alt+LeftArrowKey,我就会返回几个字母,然后就卡住了。我不会再往前走了,它不会像我期望的那样,用Alt+RightArrowKey回到行尾。我甚至不能用方向键到行末,只能到倒数第二。不能在行上输入新的字符,也不能删除。
我如何找回我心爱的捷径?
我在Mac OS X上使用终端,如果这很重要的话。
当前回答
在MacOS Monterey上,在~/中使用以下命令。zshrc使SHIFT +箭头跳字:
bindkey "^[[1;2C" forward-word
bindkey "^[[1;2D" backward-word
这是选项+箭头:
bindkey "^[^[[C" forward-word
bindkey "^[^[[D" backward-word
其他回答
对于iTerm,转到截图显示的地方,选择“自然文本编辑”
如果您已经有了一些键映射,它将在下面询问,因此选择不要丢失您之前设置的任何特殊绑定。但是,如果你不记得添加任何绑定,或者刚刚开始使用iTerm(在这台机器上),你可以安全地选择“删除”。
在MacOS Monterey上,在~/中使用以下命令。zshrc使SHIFT +箭头跳字:
bindkey "^[[1;2C" forward-word
bindkey "^[[1;2D" backward-word
这是选项+箭头:
bindkey "^[^[[C" forward-word
bindkey "^[^[[D" backward-word
在zsh中,可以使用bindkey命令查看键盘快捷键。
使用bindkey来探索无需自定义键绑定即可使用的选项。
即^[b向后移动一个单词,^[f向前移动一个单词。
虽然没有严格地回答您的问题,但forward-word和backward-word的默认绑定是alt-f respp。alt-b。
这适用于任何地方,不需要离开主行,并且有一个很好的助记符属性(f=forward, b=back),同时也与ctrl-f和ctrl-b是向前字符和向后字符一致。
撕下你的方向键!
在Mavericks(10.9.4)上,代码是1;5…所以为了绑定alt和箭头,我有我的.zshrc使用:
bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
您可以使用CTRL+V,然后使用您想使用的命令
在优胜美地使用罗伯的解决方案