创建
~/.inputrc
文件并添加以下内容:
# Respect default shortcuts.
$include /etc/inputrc
## arrow up
"\e[A":history-search-backward
## arrow down
"\e[B":history-search-forward
提示:请阅读底部的$include /etc/inputrc
的解释,或者如果您已经有文件~/.inputrc
,则该怎么做。
以#
开头的行是注释。
我记不清什么是向后和向前了。试着实验一下。也许你需要交换向后和向前。
关闭并重新打开所有终端,以使新行为生效。
一些背景信息:
Bash使用
readline来处理提示符。
~/.inputrc
是readline的配置文件。请注意,这也会影响其他使用readline库的软件,例如
IPython。
阅读
bash手册以获取有关readline的更多信息。在那里,您还可以找到更多与历史记录相关的readline命令
history related readline commands。
要获取箭头键的转义码,可以按照以下步骤进行操作:
- 在终端中启动
cat
(只需输入cat
,无需其他参数)。
- 在键盘上键入键,您将得到类似于
^[[A
表示向上箭头和^[[B
表示向下箭头的内容。
- 将
^[
替换为\e
。
有关
^[
和
\e
的更多信息,请参见此处:
https://unix.stackexchange.com/a/89817/380515
关于行
$include /etc/inputrc
:
Readline尝试读取
~/.inputrc
进行配置。如果该文件不存在,它将尝试读取
/etc/inputrc
。这意味着如果
~/.inputrc
存在,它将不会读取
/etc/inputrc
。
一些发行版在
/etc/inputrc
中准备了一些配置。如果您创建了
~/.inputrc
,则会丢失预先准备的配置。这可能是您想要的,也可能不是。为了仍然保留
/etc/inputrc
中的预先准备配置,您可以在
~/.inputrc
中使用行
$include /etc/inputrc
。
如果您已经有了
~/.inputrc
文件,这意味着您要么已经知道自己在做什么,要么是从设置您系统的人那里继承下来的,或者之前遵循了其他指南告诉您创建该文件并忘记了。无论如何,您可能希望检查
/etc/inputrc
并决定是否要保留它与行
$include /etc/inputrc
。