有没有办法让 zsh “忘记”文件路径的大小写以进行制表符补全?

有没有办法让 zsh “忘记”文件路径的大小写以进行制表符补全?

zsh 不知怎么“学会”了包含代码的目录的不正确的大小写。现在,每当我按 Tab 键完成时,它总是使用无效的大小写。

我使用的是 OSX,因此文件系统不区分大小写。虽然它最终进入了正确的目录,但 vscode 会区分路径的大小写,因此无法正常工作。

例如,我有一个名为的目录"openapi"。如果我在"open"终端上按 Tab 键完成,则会完成为openAPI

答案1

查看帖子 删除 zsh 自动完成建议

已接受 thrig 的回答 解释该问题:

这可能是中记录的AUTO_NAME_DIRS和 选项的组合。CDABLE_VARSzshoptions(1)

% PS1='%# ' zsh -f
% setopt AUTO_NAME_DIRS
% setopt CDABLE_VARS
% autoload -U compinit
% compinit
% cd a        # was mashing tab here to no avail (nor asdf)
cd: no such file or directory: a
% hash -d asdf=/etc
% cd asdf/    # "cd a" now tab completes

(这是通过搜索zshoptions“dir”和“cd”相关字符串发现的。)

要关闭此功能,请禁用一个或多个选项(unsetopt)或删除完成代码正在寻找的变量。

关注 NOLFXceptMe 的回答 添加:

我遇到了类似的问题并通过添加解决了该问题

unsetopt CDABLE_VARS

线到我的.zshrc

相关内容