我知道组合Ctrl+A可以跳转到当前命令的开头,Ctrl+E可以跳转到结尾。
但是有没有办法像Cocoa应用程序中的Alt+←/→那样逐字跳转呢?
我知道组合Ctrl+A可以跳转到当前命令的开头,Ctrl+E可以跳转到结尾。
但是有没有办法像Cocoa应用程序中的Alt+←/→那样逐字跳转呢?
当前回答
以下是你可以做到的方法
默认情况下,终端有这些快捷键来逐字移动(左右):
esc + B(左) esc + F(右)
您可以配置alt+←和→来生成这些序列:
打开终端首选项(cmd+,); 在“设置”选项卡上,选择“键盘”,如果有,双击“键盘”“←”;如果没有,则添加“键盘”。 根据需要设置修饰符,并在框中键入快捷键:esc+B,生成文本\033b(不能手动键入此文本)。 重复word-right (esc+F变成\033f)
或者,你可以参考这篇文章在textmate:
http://blog.macromates.com/2006/word-movement-in-terminal/
其他回答
针对iTerm2 Build 3.3.4用户的新答案:
步骤1:(macOS X)系统首选项>键盘>快捷键选项卡>选择任务控制(左面板)>取消选中标记为“向左移动一个空间”和“向右移动一个空间”的快捷键
步骤2:(iTerm2 Build 3.3.4)首选项>配置文件>选择*默认值(左面板)>键选项卡>删除“”和“”“<-”两个表项>将“左选项()键:”和“右选项()键:”设置为“Esc+”
没有混乱的shell配置文件,没有混乱的劣质masOS(默认)终端,没有尴尬的Esc+F/B,冲洗和重复无意义。
交易完成! !
享受这个技巧吧,我的程序员伙伴们!
按住Option键,然后单击光标要移动的位置
出于某种原因,我终端的选项+箭头不起作用。为了在macOS 10.15.6上修复这个问题,我打开了终端应用程序的首选项,并必须设置绑定。
Option-left = \033b
Option-right = \033e
出于某种原因,我拥有的选项权被设置为\033f。现在它已经修复了,我可以再次在终端中自由地跳过单词。
从Mac OS X Lion 10.7开始,终端默认将option -左/右箭头映射为Esc-b/f,所以现在bash和其他使用这些emacs兼容键绑定的程序都内置了这个功能。
在iterm2的Preferences > Profile > Keys下,单击Key Mappings下面的+并记录一个新的快捷方式。对于Action,选择发送转义序列,并分别输入b或f用于向后和向前。
当我试图为(Ctrl+←)记录一个时,我注意到在键盘快捷键字段中,箭头从未出现。事实证明,我必须首先禁用mac的默认系统首选项>键盘>快捷方式>任务控制快捷方式才能让事情正常工作,因为它们会覆盖iterm2的默认快捷方式。标准终端应用程序也应该如此。