按照此处的说明,我通过 .bash_profile 进行编辑以启用向上和向下箭头,以根据之前的命令自动完成我在 shell 中输入的内容。
我添加到我的 .bash_profile 中:
# bind history search to up and down arrows
if [[ $- == *i* ]]
then
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
fi
Run Code Online (Sandbox Code Playgroud)
这很棒,但如果我找不到我要找的命令,我希望向下箭头返回到我的原始文本。
例如,假设我有三个以前的命令:
ls -l
ls -al
现在,我键入ls
的目的是将其自动完成为ls -a
.
我点击了向上箭头,它(使用我当前的实现)将我的文本自动补全到ls -al
. 我再次点击向上箭头,这会将我的文本自动补全到ls -l
. 在这一点上,我决定我不会找到我正在寻找的命令。如果我按下向下箭头,文本将变为ls -al
,但再次按下向下箭头不会改变任何内容。我想ls
在到达历史记录中的最新命令后按向下箭头返回到我的原始文本(在本例中)。
如果有人能帮助我或为我指明正确的方向,我将不胜感激。
谢谢!