Bash CTRL在单词/string之间移动光标

在使用左右箭头键的时候,使用CTRL键可以更快地移动(一次转到一个单词的结尾,而不是一次一个字符)。

我可以以某种方式做到这一点吗?

我可能可以编码,但我想知道是否有更容易/已经完成的事情。

使用默认的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 

不知道为什么我们需要他们三个…

正如Thomas解释的那样,您可以将绑定添加到/etc/inputrc

另一种方法是每次login时加载它,就像这样把它们放在~/.bashrc

 #use ctl keys to move forward and back in words bind '"\eOC":forward-word' bind '"\eOD":backward-word' 

我了解到,您可以使用cat > /dev/null查看键盘发送的字符,例如,CTRL +右箭头显示:

 ^[OC 

其中^[\e相同,所以这就是代码来自bind命令的地方。

你也可以像这样查找绑定:

 bind -p | grep forward-word 

所有这一切都是非常可怕的,我很高兴我发现了一些更多的权力的bash。