zsh git 自动完成:__git_find_on_cmdline 错误

zsh git autocomplete: __git_find_on_cmdline error

我正在尝试让 git 自动完成与 zsh 一起工作,但 运行 遇到了一个奇怪的错误(即使自动完成似乎成功完成):

安装:

mkdir -p ~/.zsh
cd ~/.zsh
curl -o git-completion.bash https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash
curl -o _git https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.zsh

添加到 ~/.zshrc:

zstyle ':completion:*:*:git:*' script ~/.zsh/git-completion.bash
fpath=(~/.zsh $fpath)

autoload -Uz compinit && compinit

我打开一个新的 shell 和 运行 git checkout + "ty" + tab 我希望它能自动完成 "typescript " 没有错误:

raine[npm-check-updates]% gc ty__git_find_on_cmdline:[:7: unknown condition: -lt                                    ✓
__git_find_on_cmdline:[:7: unknown condition: -lt
__git_find_on_cmdline:[:7: unknown condition: -lt
pescript

它会自动完成“打字稿”,但中间有一个错误,就在我点击标签的地方。是什么原因造成的,我该如何让它消失?

Zsh comes with excellent Git completion out of the box。把你张贴的所有东西都扔掉,除了这个:

autoload -Uz compinit && compinit

然后就可以正常工作了。