我最近刚刚从庆典切换到zsh的,但是我想念我的ALT + LeftArrowKey和Alt + RightArrowKey去来回的字中的时间。
现在,如果我按Alt + LeftArrowKey我回去了几个字母,然后我卡。 我不会去任何进一步的倒退,它不会回使用Alt + RightArrowKey行结束,因为我期望的那样。 我甚至不能使用箭头键转到行的末尾,只有倒数第二。 不能上线输入新的字符一方或删除确实。
如何让我的心爱的快捷方式回来?
我在Mac OS X上使用终端,如果这是非常重要的。
运行cat
,然后按键查看代码的快捷方式发送。
(按Ctrl + C杀cat
时,即可大功告成。)
对我来说,(Ubuntu的,的konsole,xterm中)按下Alt +←发送^[[1;3D
,所以我把我的.zshrc
bindkey "^[[1;3C" forward-word
bindkey "^[[1;3D" backward-word
(其实我更喜欢用Ctrl +箭头由字到词移动,就像在Windows或Linux GUI下一个正常的文本。)
相关的问题: 终结者终端模拟器运行时岩组中.zshrc修正键设置(Home / End键/插入/删除)
对于使用的iTerm任何人,无论外壳
所有在这里所提供的解决方案,采取在我看来倒退的做法。 从根本上告诉你的shell听一些ESC序列或其他键绑定你已经在你的终端设置,创建兼容性问题,当您切换炮弹(如果从BASH到ZSH等SSH到一些其他的外壳,开关,你失去有些即使不是所有的键绑定的)。
大多数shell有一组来预先绑定默认的序列。 此外,虽然他们不是100%一致,他们是足够接近。 所以,我发现创建键绑定在外壳的特定操作最简单的办法是告诉你的终端应用程序绑定到默认键绑定是跨越炮弹一致。
我写了一个压缩解决方案,让你的终端响应尽可能接近原生Mac键绑定在这里
打开的iTerm喜好⌘+,并导航到Profiles
选项卡(在Keys
选项卡可以使用,但添加键绑定到你的个人资料可以让您保存您的个人资料 ,并将其同步到多台计算机)和keys
子选项卡,并输入以下内容:
移动光标一个字左
⌥+←发送的十六进制代码: 0x1b 0x62
向右移动光标一个单字
⌥+→发送的十六进制代码: 0x1b 0x66
这应该给你不只是在ZSH所期望的行为,而且如果你SSH到一个服务器上运行BASH,IRB /撬,节点等。
添加以下到〜/ .zshrc为我工作在OSX山狮。
bindkey -e
bindkey '[C' forward-word
bindkey '[D' backward-word
在MacOS高Siera 10.13.6或10.14.2莫哈韦使用iTerm2与zsh来从移动的话我把这样的:
bindkey "\e\e[D" backward-word
bindkey "\e\e[C" forward-word
另一种解决方案并不FO RME工作
虽然没有严格的回答你的问题,默认为绑定forward-word
和backward-word
是alt-f
RESP。 alt-b
。
这工作无处不在,不要求你离开家行,有一个很好的记忆性(F =前,B =背面),同时还一致ctrl-f
和ctrl-b
是forward-character
和backward-character
。
撕裂了您的箭头键!
在小牛队(10.9.4)的代码为1; 5 ...所以用箭头结合ALT我使用这个我的.zshrc:
bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
您可以使用CTRL + V,然后你要使用的命令
优胜美地使用罗布的解决方案
为了让我用我的工作这个答案 ,但我不得不交换码(左< - >右)
⌥+←发送的十六进制代码:0x1b 0x66
⌥+→发送的十六进制代码:0x1b 0X62
并添加以下到我的~/.zshrc
bindkey -e
bindkey "^[b" forward-word
bindkey '^[f' backward-word
在zsh中,你可以使用bindkey
命令来查看快捷键。
使用bindkey
探索可用没有定制键绑定选项。
即^[b
向后移动一个字和^[f
向前移动一个字。