我有一个Git存储库,omni。
在~/omni上签出了omni。
在~/omni/completions/_omni上有一个完成脚本。
我通过~/.zprofile设置了fpath=( ~/omni/completions $fpath ),所以补全脚本应该会被提取出来,但并没有。这一点已经得到了简单的证明:
$ 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运行时自动拾取完成脚本?
发布于 2021-02-08 15:08:36
这似乎与权限有关,因为所有文件(及其父目录)都被标记为777。
chmod -R go-rwx ~/omni似乎已经解决了这个问题。
https://stackoverflow.com/questions/66097160
复制相似问题