我有一个 Git 存储库,omni
.
omni
在 签出~/omni
。
有一个完成脚本~/omni/completions/_omni
。
我设置fpath=( ~/omni/completions $fpath )
, via~/.zprofile
所以完成脚本应该被拾取但不是。这被简单地证明了:
$ for dir in "$fpath[@]"; do if [ -f "$dir/_omni" ]; then echo $dir; fi; done
/Users/myusername/omni/completions
我还运行compinit -i
以初始化完成,但脚本没有被拾取。
$ compinit -i
$ which _omni
_omni not found
但是,如果我重新初始化完成,一切正常
$ which _omni
_omni not found
$ compinit -i
$ which _omni
_omni not found
$ compinit -u
$ which _omni
_omni () {
# undefined
builtin autoload -XUz
}
现在完成脚本被拾取。
我需要做什么才能在 shell 启动时自动拾取完成脚本,compinit -i
运行时?