我知道组合Ctrl+A可以跳转到当前命令的开头,Ctrl+E可以跳转到结尾。
但是有没有办法像Cocoa应用程序中的Alt+←/→那样逐字跳转呢?
我知道组合Ctrl+A可以跳转到当前命令的开头,Ctrl+E可以跳转到结尾。
但是有没有办法像Cocoa应用程序中的Alt+←/→那样逐字跳转呢?
当前回答
这是CLI的方式,验证它在bash上工作。
在~/.inputrc中添加以下代码:
# macOS Option + Left/Right arrow keys to move the cursor wordwise
"\e\e[C": forward-word
"\e\e[D": backward-word
这种方法的优点是它与终端应用程序无关——不管你是否使用终端。app、iTerm2或任何其他应用程序。
灵感来自于另一个答案。
其他回答
以下是你可以做到的方法
默认情况下,终端有这些快捷键来逐字移动(左右):
esc + B(左) esc + F(右)
您可以配置alt+←和→来生成这些序列:
打开终端首选项(cmd+,); 在“设置”选项卡上,选择“键盘”,如果有,双击“键盘”“←”;如果没有,则添加“键盘”。 根据需要设置修饰符,并在框中键入快捷键:esc+B,生成文本\033b(不能手动键入此文本)。 重复word-right (esc+F变成\033f)
或者,你可以参考这篇文章在textmate:
http://blog.macromates.com/2006/word-movement-in-terminal/
按住Option键,然后单击光标要移动的位置
我有Alt+←/→工作:打开首选项»设置»键盘,设置选项光标向左发送字符串到shell: \033b,并设置选项光标向右发送字符串到shell: \033f。您也可以将此用于其他控制键组合。
出于某种原因,我终端的选项+箭头不起作用。为了在macOS 10.15.6上修复这个问题,我打开了终端应用程序的首选项,并必须设置绑定。
Option-left = \033b
Option-right = \033e
出于某种原因,我拥有的选项权被设置为\033f。现在它已经修复了,我可以再次在终端中自由地跳过单词。
实际上有一个更好的方法。按住“选项”(在某些键盘上为“alt”)并按左或右方向键按字移动。就这么简单。
选择← 选项→
此外,ctrl将带你到行结束和ctrla将带你到开始。