我将 zsh 5.0.7 配置为使用不区分大小写的制表符完成
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
我遇到的问题是,这种不区分大小写的情况经常导致我需要按Tab额外的时间。例如,我的主目录包含文件夹“桌面”、“文档”和“下载”。如果我在主文件夹中输入
cd D
然后按Tab,我看到为我列出的三种可能性。另一方面,如果我输入
cd d
然后按Tab“d”变为“D”,但我没有看到完成菜单;我需要Tab再次按下才能实现这一点。有没有办法在“d”变成“D”的同时获得补全菜单?
答案1
启用该选项MENU_COMPLETE
将跳过更正并立即插入第一个可能的匹配项。
答案2
另一个有用的设置可能是
setopt no_list_ambiguous
它将把“c”更正为“C”和显示完成菜单。
答案3
OP 和答案对我不起作用。最高答案这里工作正常:
将这些行放入您的 zsh 配置文件中,通常是~/.zshrc
:
autoload -Uz compinit && compinit
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'