bash 選項卡自動完成功能

bash 選項卡自動完成功能

我想要一個 bash 自動完成功能,它可以循環顯示所有可能性,就像在 zsh 中一樣,同時也執行常規操作,即列印所有可能性(假設沒有太多),並在列印之前進行確認。

這兩者不應該是互相排斥的。我知道如何讓它循環遍歷各種可能性(綁定“TAB:選單完成”),但它失去了第一個功能。

另外,我想知道是否可以向後移動(就像在許多其他軟體中那樣),因為必須再次執行整個循環確實很煩人。

答案1

為了獲得此功能,您需要將以下行寫入檔案~/.inputrc

# cycle forward
Control-k: menu-complete
# cycle backward
Control-j: menu-complete-backward

這樣您將保持目前的 Tab 行為。您可能還需要考慮新增另一個配置選項:

# display one column with matches
set completion-display-width 1

它使可能性顯示在一列中,因此而不是:

file1 file2 file3 file4...

或者

file1  file3  ...
file2  file4

你得到:

file1
file2
file3
file4
...

更符合我的口味。

請參閱以man readline了解更多資訊或訪問GNU Readline 圖書館網站

相關內容