在 zsh 中禁用子字符串文件名补全

在 zsh 中禁用子字符串文件名补全

在 中zsh,当我键入文件名的开头并使用制表符自动完成时:

$ ls gs<tab>

如果没有以 开头的匹配项gs,我可能会得到:

$ ls logs

我发现这个功能不但没有用,反而有害。我想知道当前目录中没有匹配项(也许我错误地输入了错误的目录)。

雪上加霜的是,自动完成/自动更正的文件名也不存在(有一个 file bootlogs,但没​​有 file logs

我怎样才能禁用这个“功能”?我尝试将以下选项添加到我的 .zshrc 中,但这没有帮助:

unsetopt correct
unsetopt correct_all

我还从完成者中删除了_correct和:_approximate

zstyle ':completion:*' completer _expand _complete

这是这一matcher-list行:

zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=* l:|=*'

我正在使用zsh 4.3.17,没有任何包含的框架(例如 oh-my-zsh)。

相关内容