对于某些特定的 git 命令(涉及远程和分支的命令),我遇到了 Zsh 自动完成的问题,但仅限于使用别名时。
这是一个例子push:
$ git push o<TAB>rigin m<TAB>aster # tab completion works
$ git config --global alias.ps push # set a `ps` alias for `push`
$ git ps o<TAB>rigin m<TAB> # tab completion doesn't work for "master"
pull和也会出现同样的问题fetch。
我.zshrc可以在这里找到,但我不认为它是相关的,因为我能够在不使用它的情况下重现问题(只需使用 启用自动完成autoload -U compinit && compinit)。
我正在使用以下软件版本运行 OSX 10.9(它们都通过 安装brew):
$ zsh --version
zsh 5.0.2 (x86_64-apple-darwin13.0.0)
$ git --version
git version 1.8.4.2
自从我进行了 OSX 10.9 全新安装后,就出现了这个问题。所以我认为它来自 Zsh 或 Git 的最新更新。