ZSH 中類似魚的參數補全搜索

ZSH 中類似魚的參數補全搜索

我在和魚玩耍時注意到了這個方便的行為

如果我輸入wget -<tab><tab><tab>,我就會進入互動式選單。然而,當我打字時,我搜尋了參數本身的描述。我在 zsh 中嘗試過這個,在這個選單中輸入似乎只會讓我回到互動式提示符。有沒有辦法在zsh中實現類似的功能?

答案1

嘗試將其放入您的.zshrc文件中:

 # load module for list-style selection
 zmodload zsh/complist

 # use the module above for autocomplete selection
 zstyle ':completion:*' menu yes select

 # now we can define keybindings for complist module
 # you want to trigger search on autocomplete items
 # so we'll bind some key to trigger history-incremental-search-forward function
 bindkey -M menuselect '?' history-incremental-search-forward

現在,如果您鍵入wget -<tab>具有自動完成功能的選單,則會出現。我們為此選單定義了按鍵綁定,因此如果您按下?搜尋線,則會出現在補全的頂部:

davidsykora~%wget --referer
isearch: refe

一些額外的提示:

  • 您也可以定義 bindkey -M menuselect '/' history-incremental-search-backward向後搜尋
  • 如果您?在搜尋過程中再次按下,選擇將跳到下一個搜尋結果。用於/跳到上一個結果
  • 需要進行大量調整才能使其按您想要的方式工作,所以請看一下complist 文件尋找附加功能和選項
  • 對我來說,使用vi-insertcomplist 函數通常要快得多 - 它根據您輸入的內容過濾補全。

答案2

我認為這符合你的要求:

  zmodload zsh/complist
  setopt menucomplete
  zstyle ':completion:*' menu select=0 search

這將導致當您點擊選項卡時顯示列表,然後如果您繼續鍵入,它將透過增量搜尋來搜尋可用選項,包括描述。

您可能也對相同的配置感興趣,但使用互動式而不是搜尋。在這種情況下,當您鍵入時,它會將補全內容過濾為僅與您迄今為止鍵入的內容相符的補全內容。

相關內容