删除 zsh 自动完成建议

删除 zsh 自动完成建议

当我打字时

cd l

并点击 Tab,zsh 自动完成

cd lightdm/ 

这不是我可用的目录(事实上我已经卸载了 lightdm)。

我该如何阻止这种情况发生?

我已经安装了 prezto。

https://github.com/sorin-ionescu/prezto

答案1

这可能是中记录的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) 或删除完成代码正在查找的变量。

答案2

正如用户thrig在回答中已经提到的,这是由CDABLE_VARS设置的选项引起的。

我有一个类似的问题并通过添加来修复它

unsetopt CDABLE_VARS

线路到我的.zshrc

答案3

我最终调查.zhistory并删除了所有lightdm对此的引用,解决了我的问题。也许还有其他地方 zsh 存储完成,但我不知道它们是什么。

相关内容