zsh抛出错误中的Git选项卡完成

时间:2015-01-19 16:01:57

标签: git zsh

在osx上努力获得git setup的标签完成后,我发现了一些奇怪的错误,我也无法找到源代码。

zsh:12: command not found: ___main
_default:compcall:12: can only be called from completion function

我不确定导致错误是什么,因为一切都设置正确。

zstyle ':completion:*:*:git:*' script ~/.git-completion.bash
autoload -U compinit && compinit
zmodload -i zsh/complist
source ~/.git-completion.zsh

有什么想法吗?

1 个答案:

答案 0 :(得分:8)

似乎git-completion.zsh 设计为source。您可以将git-completion.zsh文件复制到$fpath中的某个位置,然后将其重命名为_git

例如:(如果您决定拥有~/.zsh/functions/_git。)

首先,您可以将git-completion.zsh复制到那里并将其重命名为_git

% mkdir -p ~/.zsh/functions && cp git-completion.zsh ~/.zsh/functions/_git

然后你可以让~/.zshrc像这样:

zstyle ':completion:*:*:git:*' script ~/.git-completion.bash
# `compinit` scans $fpath, so do this before calling it.
fpath=(~/.zsh/functions $fpath)
autoload -Uz compinit && compinit

如果我不确定,我会rm ~/.zcompdump确保compinit丢弃其缓存。