我刚刚从bash切换到zsh,但我想念我的Alt+ LeftArrowKey和Alt+ RightArrowKey一次来回一个字.
现在,如果我按Alt+ LeftArrowKey我回去几封信,然后我就卡住了.我不会再向后退,它不会像我期望的那样回到Alt+ 的结尾RightArrowKey.我甚至不能使用箭头键到达行的末尾,只能到倒数第二个.不能在线上输入新的字符或者确实删除.
如何获得我心爱的快捷方式?
如果这很重要,我使用终端在Mac OS X上.
lol*_*que 207
运行cat然后按键查看快捷方式发送的代码.
(当你完成时按Ctrl+ C杀死cat.)
对我来说,(ubuntu,konsole,xterm)按Alt+ ←发送^[[1;3D,所以我会放入我的.zshrc
bindkey "^[[1;3C" forward-word
bindkey "^[[1;3D" backward-word
Run Code Online (Sandbox Code Playgroud)
(实际上我更喜欢使用Ctrl+箭头逐字移动,就像在windows或linux gui下的普通文本框中一样.)
相关问题:在终结者终端仿真器中运行Zsh时修复.zshrc中的键设置(Home/End/Insert/Delete)
Tra*_*vis 151
对于任何使用iTerm的人,无论shell如何
在我看来,这里提供的所有解决方案都采取了倒退的方法.你实际上是在告诉你的shell监听你在终端中设置的一些esc序列或其他键绑定,当你切换shell时会产生兼容性问题(如果你SSH到其他shell,从BASH切换到ZSH等等你输了一些,如果不是所有的键绑定).
大多数shell都有一组预先绑定的默认序列.此外,虽然它们不是100%一致,但它们足够接近.因此,我发现为shell中的特定操作创建键绑定的最简单方法是告诉终端应用程序绑定到跨shell一致的默认键绑定.
我编写了一个压缩解决方案,让您的终端在这里接近本机mac键绑定
打开iTerm首选项⌘+ ,并导航到Profiles选项卡(Keys可以使用该选项卡,但添加键盘绑定到您的配置文件允许您保存配置文件并将其同步到多台计算机)和keys子选项卡并输入以下内容:
向左移动光标一个字
⌥+ ←发送十六进制代码:
0x1b 0x62
将光标向右移动一个字
⌥+ →发送十六进制代码:
0x1b 0x66
这应该不仅在ZSH中提供所需的行为,而且如果您通过SSH连接到运行BASH,irb/pry,节点等的服务器.
Rob*_*yer 68
在OSX Mountain Lion上为〜/ .zshrc添加以下内容.
bindkey -e
bindkey '[C' forward-word
bindkey '[D' backward-word
Run Code Online (Sandbox Code Playgroud)
mcv*_*vkr 44
对于 iTerm,请转到此屏幕截图显示的位置并选择“自然文本编辑”
如果您已经有一些键映射,它会在下面询问,请相应地选择不要丢失您之前设置的任何特殊绑定。但是,如果您不记得添加任何绑定或刚刚开始使用 iTerm(在本机上),您可以安全地选择“删除”
Vet*_*lll 13
在MacOS High Siera 10.13.6或Mojave 10.14.2上并将iTerm2与ZSH结合使用要移开单词,我必须这样输入:
bindkey "\e\e[D" backward-word
bindkey "\e\e[C" forward-word
Run Code Online (Sandbox Code Playgroud)
另一个解决方案对您不起作用
虽然没有严格的回答你的问题,默认绑定forward-word和backward-word是alt-fRESP.alt-b.
这工作无处不在,不要求你离开家行,有一个很好的记忆性(F =前,B =背面),同时还具有一致的ctrl-f和ctrl-b是forward-character和backward-character.
撕掉你的箭头键!
| 归档时间: |
|
| 查看次数: |
30247 次 |
| 最近记录: |