/usr/local/bin/zsh 中的 zsh 无法识别供应商完成

/usr/local/bin/zsh 中的 zsh 无法识别供应商完成

我已经从源代码构建了 zsh 并将其安装在 中。 中也/usr/local/bin/zsh有一个打包安装。/usr/bin/zsh

现在,当我安装其他一些软件包时,它们偶尔会将完成文件放入/usr/share/zsh/vendor-completions/_toolname。问题是我的自定义 zsh 无法识别这些文件。我尝试将这些文件的符号链接放入/usr/local/share/zsh/vendor-completions(我还必须创建目录),但没有成功。

在构建 zsh 时,我只是运行./configure脚本,因此默认PREFIX保持不变(并且它是)。/usr/local

在我的案例中,如何使供应商完成工作?

答案1

补全是从fpath数组中的目录加载的。因此目录/usr/share/zsh/vendor-completions必须明确包含在其中:

# do it before 'compinit' in ~/.zshrc
fpath=($fpath /usr/share/zsh/vendor-completions)

我还是不知道为什么它没有默认包含在内。

相关内容