我知道组合Ctrl+A可以跳转到当前命令的开头,Ctrl+E可以跳转到结尾。
但是有没有办法像Cocoa应用程序中的Alt+←/→那样逐字跳转呢?
我知道组合Ctrl+A可以跳转到当前命令的开头,Ctrl+E可以跳转到结尾。
但是有没有办法像Cocoa应用程序中的Alt+←/→那样逐字跳转呢?
当前回答
你可以使用非常奇怪的Esc+F键移动到下一个单词的开头,Esc+B键移动到当前单词的开头。
其他回答
如果您碰巧是Vim用户,您可以尝试bash的Vim模式。运行这个或者把它放在~/中。bashrc文件:(
set -o vi
默认情况下,您处于插入模式;点击escape,你就可以像在普通模式的Vim中一样四处移动,所以按字移动是w或b,通常的移动键也可以工作。
按住Option键,然后单击光标要移动的位置
你可以使用非常奇怪的Esc+F键移动到下一个单词的开头,Esc+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,冲洗和重复无意义。
交易完成! !
享受这个技巧吧,我的程序员伙伴们!