我在我的中使用这些行~/.inputrc
:
"\e[5~": history-search-backward
"\e[6~": history-search-forward
使用这些设置,当我c在提示符下键入并执行时,bash 仅显示从历史记录PageUp开始的命令。则相反。我发现这对我来说非常有成效。cPageDown
Ctrl当我执行+操作时,如果我的 inputrc 文件中没有这些行Left,光标将用于向左移动一个单词,而Ctrl+Left则相反。但是通过上面提到的那些设置,当我执行Ctrl+Left和Ctrl+时,Right它会打印;5D
and ;5C
。
那么我该如何让Ctrl+ Left& Ctrl+Right做正确的事情呢?
答案1
readline
这些运动的两个命令是forward-word
和backward-word
。您可以使用(默认的 emacs 绑定)分别访问它们:
Altf和Altb。
Left要使用和键进行工作Right,您需要在~/.inputrc
.
首先,通过从终端获取这些按键的原始输出来确认正确的转义序列:输入Ctrlv CtrlLeft和Ctrlv CtrlRight并记下序列(类似于^[Oc
和^[Od
)。然后将这些行附加到您的.inputrc
:
"\eOc": forward-word
"\eOd": backward-word
全部读行命令可以在你的身上反弹.inputrc
。
答案2
请注意,这些序列可能因终端而异。从您的文字来看,您似乎使用 gnome-terminal 。
# on gnome-terminal
"\e[1;5D": backward-word
"\e[1;5C": forward-word