我遇到了一个Zsh自动完成的问题,涉及到一些特定的git命令(涉及到远程和分支的命令),但只有在使用别名时才会出现。
下面是一个例子 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最近的更新造成的。
也许你应该使用Git官方的zsh完成。
https:/git.kernel.orgcgitgit.gittreecontribcompletiongit-completion.zsh。