ZSH 需要两个选项卡来完成文件名

Kev*_*rke 7 zsh autocomplete

我喜欢 Zsh 的 Tab 补全,但是当只有一个可能的选项时它令人沮丧,我必须两次 Tab 才能完成文件名。

例如,如果这是目录中的文件列表:

- a.txt
- b.txt
- x.txt
Run Code Online (Sandbox Code Playgroud)

然后我输入cat x<TAB>ZSH,我在提示符下得到这个:

$ cat x
x.txt
Run Code Online (Sandbox Code Playgroud)

我必须再次 TAB 才能获得值。我该怎么做才能让 ZSH 仅使用第一个选项卡完成文件名?

这是我的 setopt:

alwaystoend
autocd
autonamedirs
autopushd
cdablevars
completeinword
correctall
extendedhistory
noflowcontrol
histexpiredupsfirst
histignoredups
histignorespace
histverify
incappendhistory
interactive
longlistjobs
menucomplete
monitor
promptsubst
pushdignoredups
sharehistory
shinstdin
zle
Run Code Online (Sandbox Code Playgroud)

Kev*_*rke 8

我需要修复的设置是

zstyle '*' single-ignored show
Run Code Online (Sandbox Code Playgroud)

completion.zshoh-my-zsh的文件中。我把它改成

zstyle '*' single-ignored complete
Run Code Online (Sandbox Code Playgroud)