Zsh

如何使zsh立即顯示所有完成,而不首先插入公共前綴?

  • September 24, 2021

我已經zsh設置了 Oh-My-Zsh。該z外掛允許我跳轉到最近使用的目錄。

當我鍵入時,它會通過匹配列表從最近訪問的目錄列表中z name<TAB>自動完成。name``name

有時結果只包含一個條目,而我知道應該有多個。我已經調試了$reply變數,如果所有條目都具有相同的前綴,例如/path/to/dir,包含帶有的目錄,就會發生這種情況。name 在這種情況下,自動完成菜單中只有前綴,而不是匹配目錄的完整列表。擴展後再次點擊,現在使用完整的公共前綴而不是我的搜尋查詢<TAB> 觸發對腳本完成函式的新呼叫,例如z``/path/to/dir

當我按下 <Shift+Tab> 時,它必然會reverse-menu-complete zsh正確選擇最後一項並顯示完整列表。

有沒有辦法讓 Tab 立即顯示所有完成,而無需先插入公共前綴?

在採購 Oh-My-Zsh之後,將此添加到您的.zshrc文件中:

bindkey '\t' menu-complete

現在Tab的行為與 完全相同Shift``Tab,但方向相反。

引用自:https://unix.stackexchange.com/questions/665913