![通过单或双 tab 在 msysgit 中完成 bash](https://linux22.com/image/1447881/%E9%80%9A%E8%BF%87%E5%8D%95%E6%88%96%E5%8F%8C%20tab%20%E5%9C%A8%20msysgit%20%E4%B8%AD%E5%AE%8C%E6%88%90%20bash.png)
单个制表符用于使 bash 完成当前行,双击显示所有可能的变体。
例如,如果我有文件(或 git 分支,或任何适合当前上下文的内容)“abc”、“abd”和“bbb”,那么如果我输入“git add a”,控制台将如下所示:
// start
id@IDANILOV /d/temp
$ git add a
然后我按下 Tab 键 - 它将当前行完成为“ab”并且不打印任何其他内容:
// after tab pressing
id@IDANILOV /d/temp
$ git add ab
如果我第二次按下 Tab - 它会显示“abc”和“abd”:
// after second tab press
id@IDANILOV /d/temp
$ git add ab
abc abd
id@IDANILOV /d/temp
$ git add ab
但经过一些更新后(或者可能是我不经意间做了一些事情) - 即使在第一次按下标签后它也会显示所有变体,这很烦人。
这种行为可以在哪里改变?
答案1
在某些 inputrc 文件 (/etc/inputrc、~/.inputrc 等) 中,有一行如下:
set show-all-if-ambiguous on
删除此行,插入到#
行首或更改on
为off
。
或者说
bind 'set show-all-if-ambiguous off'
进入你的 .bashrc
参考: http://tiswww.case.edu/php/chet/readline/rluserman.html#SEC9