【问题标题】:Adding an autocompletion script to ZSH seems not to be working向 ZSH 添加自动完成脚本似乎不起作用
【发布时间】:2021-02-08 07:02:20
【问题描述】:

我有一个 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
}

现在完成脚本被拾取。

compinit -i 运行时,我需要做什么才能在 shell 启动时自动获取完成脚本?

【问题讨论】:

    标签: autocomplete zsh zsh-completion prezto


    【解决方案1】:

    这似乎与权限有关,因为所有文件(及其父目录)都标记为 777。

    chmod -R go-rwx ~/omni
    

    似乎已经解决了问题。

    【讨论】:

      猜你喜欢
      • 2013-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-28
      • 1970-01-01
      • 2020-02-08
      相关资源
      最近更新 更多