我想要一個 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 圖書館網站。