如何防止 ZSH 循環匹配完成,而只是在清單中呈現剩餘可能性的清單?
在我最近安裝的作業系統中,按下 Tab 時我開始出現 ZSH 循環行為。我不喜歡它,更喜歡它只顯示一個匹配列表。我的舊作業系統安裝有此問題,所以我猜測較新版本的 Zsh 中的某些預設設定是原因。我嘗試在 Google 上搜索,並比較我的環境變數(env
輸出 - 如果有幫助的話我可以包含它們,但它會很長),但我只是無法找出正確的設定。
這是我的環境訊息:
在以下系統上按需要工作(每次按 Tab 時都會列出匹配項)
zsh 4.3.12 (i386-apple-darwin11.2.0)
,Darwin macbookair 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64 i386 MacBookAir4,2 Darwin
zsh 5.1.1 (i686-ubuntu-linux-gnu)
,Linux nuc2017 4.4.0-96-generic #119-Ubuntu SMP Tue Sep 12 14:58:51 UTC 2017 i686 i686 i686 GNU/Linux
- 全新 Ubuntu 安裝
zsh 5.0.8 (x86_64-apple-darwin15.0)
,Darwin Sridhars-Mac-mini.local 15.3.0 Darwin Kernel Version 15.3.0: Thu Dec 10 18:40:58 PST 2015; root:xnu-3248.30.4~1/RELEASE_X86_64 x86_64 i386 Macmini6,1 Darwin
無法如預期工作(每次按 Tab 時都會循環顯示匹配項)
zsh 5.1.1 (x86_64-ubuntu-linux-gnu)
,Linux nuc 4.4.0-21-generic #37-Ubuntu SMP Mon Apr 18 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
- 從以前的版本對我的 Ubuntu 進行了 dist 升級
- OS X Sierra(版本資訊不可用 - 它在我的工作電腦上)
我嘗試過但不起作用的事情:
unsetopt menu_complete
答案1
您正在尋找的是setopt noautomenu
看https://serverfault.com/questions/109207/how-do-i-make-zsh-completion-act-more-like-bash-completion完整的選項列表
答案2
如果你有一個乾淨的 Zsh 安裝並且文件中只有~/.zshrc
這個
autoload -Uz compinit && compinit -C
然後它會在您第一次按 Tab 時顯示完成清單。
但是,如果您添加
unsetopt AUTO_LIST
那麼這種情況就不會再發生,完成會立即開始循環。
若要查看此選項是否已取消設置,請執行下列操作
setopt
它顯示與預設值不同的所有選項。如果輸出包含noautolist
,則已AUTO_LIST
取消設定。