我已经从源代码构建了 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)
我还是不知道为什么它没有默认包含在内。