bash 历史命令补全

执行以下命令

1
2
curl -L http://hengyunabc.github.io/bash_completion_install.sh | sh  
bind -f ~/.inputrc

先输入部分命令,再按键盘的Up/Down就可以自动补全出历史命令了。

原理

实际上给~/.inputrc文件添加了下面的内容:

1
2
3
4
"\e[A": history-search-backward  
"\e[B": history-search-forward
set show-all-if-ambiguous on
set completion-ignore-case on

前面两行自然是绑定了快捷键,后面两行是什么意思呢?

show-all-if-ambiguous 是指tab补全时,按一次tab就会把最长匹配的自动补全。具体参考 https://stackoverflow.com/a/42193784

completion-ignore-case 是指tab补全时,忽略大小写,这点也非常方便。

注意,在修改完~/.inputrc文件,要显式执行bind -f ~/.inputrc才会生效。

来源地址: https://hengyun.tech/bash_completion_tips/

placeholder

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!

扫一扫,分享到微信

微信分享二维码

请我喝杯咖啡吧~

支付宝
微信