我习惯使用CTRL键在使用左右箭头键时移动得更快(转到单词的末尾,而不是一次只有一个字符).
我能以某种方式在bash中这样做吗?
我可以编码,但我想知道是否有更容易/已经完成的事情.
Tho*_*mas 85
使用默认的readline键绑定,ALT+ B返回一个单词,ALT+ F前进一个单词.
默认的Ubuntu设置还提供了CTRL你习惯的+箭头.这些/etc/inputrc内容如下:
# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word
Run Code Online (Sandbox Code Playgroud)
不知道为什么我们需要三个......
Bry*_*uiz 39
正如托马斯解释的那样,你可以添加绑定/etc/inputrc.
每次登录时加载的另一种替代方法是将它们放入~/.bashrc :
#use ctl keys to move forward and back in words
bind '"\eOC":forward-word'
bind '"\eOD":backward-word'
Run Code Online (Sandbox Code Playgroud)
我了解到您可以cat > /dev/null 用来查看键盘发送的字符,例如,CTRL +向右箭头显示:
^[OC
Run Code Online (Sandbox Code Playgroud)
where ^[是相同\e 的,这是代码来自bind命令的地方.
你也可以查找这样的绑定:
bind -p | grep forward-word
Run Code Online (Sandbox Code Playgroud)
所有这一切都非常棒,我很高兴我发现了更多的bash力量.
主目录中的 .inputrc 将导致 ctrl+left 停止在 Ubuntu 上工作(例如)。
要使一切正常,请将以下内容添加到 ~/.inputrc:
# Include system-wide inputrc, which is ignored by default when
# a user has their own .inputrc file.
$include /etc/inputrc
Run Code Online (Sandbox Code Playgroud)
归功于f.kowal