停止选项卡完成提示“messagebus”

停止选项卡完成提示“messagebus”

我有一个名为 的目录build,我cd经常进入该目录。

bu*如果当前目录中没有任何目录,zsh则 Tab 补全:cd buTAB建议messagebus/,该目录不在..如果我接受这个完成,我最终会进入/private/var/empty

我不确定哪个zsh选项表明此完成,但我很想将其关闭。知道哪个设置可以实现吗?

就其价值而言,这是在OS X.在 上,我得到了具有相同设置的ubuntu建议。libuuid messagebuszsh

答案1

/private/var/empty可能是messagebus用户的主目录。当它接收到它认为看起来像用户名的函数zsh参数时,提供主目录的扩展。cd在您的情况下,bu被近似匹配器扩展为messagebus,因为在空目录中不会触发更具体的匹配器(在您的Linux系统上, 和 都uuid作为messagebus字符串的可能近似匹配返回bu)。

zsh通过在您的 中添加类似的内容,可以判断在这些情况下应该考虑扩展哪些用户~/.zshrc

zstyle ':completion:*' users user1 user2 root

只需列出您希望 shell 考虑的所有用户,source ~/.zshrc以获取更改,您不应该再获得messagebus等作为可能的完成。

相关内容