将 zsh 的 tab 补全与不区分大小写相结合

bde*_*ham 12 zsh autocomplete

我已将 zsh 5.0.7 配置为使用不区分大小写的选项卡完成

zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是这种不区分大小写的做法常常导致我需要多按Tab一次。例如,我的主目录包含文件夹“桌面”、“文档”和“下载”。如果我在我的主文件夹中并输入

cd D
Run Code Online (Sandbox Code Playgroud)

然后按Tab,我会看到为我列出的三种可能性。另一方面,如果我输入

cd d
Run Code Online (Sandbox Code Playgroud)

然后按Tab然后“d”变为“D”但我没有看到完成菜单;我需要Tab再次按下才能发生这种情况。有没有办法在将“d”更改为“D”的同时获得完成菜单?

llu*_*lua 12

启用该选项MENU_COMPLETE将跳过更正并立即插入第一个可能的匹配项。

  • 谢谢你的提示!对于那些想知道的人,就像我一样,完整的命令是 `setopt MENU_COMPLETE`,需要放在 `.zshrc` 中 (4认同)