如何更改bash历史完成以完成已经在线的内容?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (58)

几个月前,我发现了一个命令,它使我的bash历史自动完成了在按向上箭头时已经出现的内容:

$ vim fi
$ vim file.py
提问于
用户回答回答于

# ~/.inputrc
"\e[A": history-search-backward
"\e[B": history-search-forward

或者同等的,

# ~/.bashrc
if [[ $- == *i* ]]
then
    bind '"\e[A": history-search-backward'
    bind '"\e[B": history-search-forward'
fi
# ~/.inputrc
"\e[5~": history-search-backward
"\e[6~": history-search-forward

修改后~/.inputrc,重新启动shell,或者使用ctrl+X,ctrl+R告诉它重读。~/.inputrc...

用户回答回答于

使用以下内容更新.inputrc:

"\C-[OA": history-search-backward
"\C-[[A": history-search-backward

"\C-[OB": history-search-forward
"\C-[[B": history-search-forward

扫码关注云+社区