我知道组合Ctrl+A可以跳转到当前命令的开头,Ctrl+E可以跳转到结尾。
但是有没有办法像Cocoa应用程序中的Alt+←/→那样逐字跳转呢?
我知道组合Ctrl+A可以跳转到当前命令的开头,Ctrl+E可以跳转到结尾。
但是有没有办法像Cocoa应用程序中的Alt+←/→那样逐字跳转呢?
当前回答
如果您碰巧是Vim用户,您可以尝试bash的Vim模式。运行这个或者把它放在~/中。bashrc文件:(
set -o vi
默认情况下,您处于插入模式;点击escape,你就可以像在普通模式的Vim中一样四处移动,所以按字移动是w或b,通常的移动键也可以工作。
其他回答
如前所述,您可以在~/中添加set -o vi。bashrc使用vi/vim键绑定,或者你可以在.bashrc中添加以下部分来使用Ctrl和方向键移动:
# bindings to move 1 word left/right with ctrl+left/right in terminal, just some apple stuff!
bind '"\e[5C": forward-word'
bind '"\e[5D": backward-word'
# bindings to move 1 word left/right with ctrl+left/right in iTerm2, just some apple stuff!
bind '"\e[1;5C": forward-word'
bind '"\e[1;5D": backward-word'
要启动这几行代码的效果,请选择源~/。Bashrc或启动新的终端会话。
针对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/
如果您碰巧是Vim用户,您可以尝试bash的Vim模式。运行这个或者把它放在~/中。bashrc文件:(
set -o vi
默认情况下,您处于插入模式;点击escape,你就可以像在普通模式的Vim中一样四处移动,所以按字移动是w或b,通常的移动键也可以工作。
出于某种原因,我终端的选项+箭头不起作用。为了在macOS 10.15.6上修复这个问题,我打开了终端应用程序的首选项,并必须设置绑定。
Option-left = \033b
Option-right = \033e
出于某种原因,我拥有的选项权被设置为\033f。现在它已经修复了,我可以再次在终端中自由地跳过单词。