我知道组合Ctrl+A可以跳转到当前命令的开头,Ctrl+E可以跳转到结尾。
但是有没有办法像Cocoa应用程序中的Alt+←/→那样逐字跳转呢?
我知道组合Ctrl+A可以跳转到当前命令的开头,Ctrl+E可以跳转到结尾。
但是有没有办法像Cocoa应用程序中的Alt+←/→那样逐字跳转呢?
当前回答
我有Alt+←/→工作:打开首选项»设置»键盘,设置选项光标向左发送字符串到shell: \033b,并设置选项光标向右发送字符串到shell: \033f。您也可以将此用于其他控制键组合。
其他回答
如果您在首选项的键盘选项卡中勾选“使用选项作为元键”,则默认的emacs样式命令分别为向前和向后的字和“F (Alt+F)”和“B (Alt+B)”。
我推荐阅读《From Bash to Z-Shell》。如果你想增加你的bash/zsh能力!
针对iTerm2 Build 3.3.4用户的新答案:
步骤1:(macOS X)系统首选项>键盘>快捷键选项卡>选择任务控制(左面板)>取消选中标记为“向左移动一个空间”和“向右移动一个空间”的快捷键
步骤2:(iTerm2 Build 3.3.4)首选项>配置文件>选择*默认值(左面板)>键选项卡>删除“”和“”“<-”两个表项>将“左选项()键:”和“右选项()键:”设置为“Esc+”
没有混乱的shell配置文件,没有混乱的劣质masOS(默认)终端,没有尴尬的Esc+F/B,冲洗和重复无意义。
交易完成! !
享受这个技巧吧,我的程序员伙伴们!
以下是你可以做到的方法
默认情况下,终端有这些快捷键来逐字移动(左右):
esc + B(左) esc + F(右)
您可以配置alt+←和→来生成这些序列:
打开终端首选项(cmd+,); 在“设置”选项卡上,选择“键盘”,如果有,双击“键盘”“←”;如果没有,则添加“键盘”。 根据需要设置修饰符,并在框中键入快捷键:esc+B,生成文本\033b(不能手动键入此文本)。 重复word-right (esc+F变成\033f)
或者,你可以参考这篇文章在textmate:
http://blog.macromates.com/2006/word-movement-in-terminal/
实际上有一个更好的方法。按住“选项”(在某些键盘上为“alt”)并按左或右方向键按字移动。就这么简单。
选择← 选项→
此外,ctrl将带你到行结束和ctrla将带你到开始。
使用自然文本编辑预设!
本质上,它在其他键序列中绑定Option + LeftArrow到^[b序列,Option + RightArrow到^[f序列
这适用于fish和bash,以及在psql终端。