带别名的 Git 补全

zel*_*elk 8 zsh git autocomplete

我在 Github 上有一个方便的 dotfiles 存储库供大家查看,请点击此处。仅供参考,git 是通过 Homebrew 安装的,就像我系统上的大多数可执行文件一样。

当我不使用别名时,我在 zsh 中的 git-completion 工作正常,例如:

% git add fi<TAB> # => file.rb
Run Code Online (Sandbox Code Playgroud)

但是如果我在我的 .zshrc 中添加一个别名(实际上是cormacrelf-dotfiles-repo/zsh/aliases.zsh),比如:

alias ga="git add"
compdef _git ga=git-add
Run Code Online (Sandbox Code Playgroud)

...试图完成任何事情(不仅仅是文件:分支等)会导致错误:

% git add fi
_git:19: parse error: condition expected: 1
Run Code Online (Sandbox Code Playgroud)

Pie*_*ier 8

setopt no_complete_aliases在您的.zshrc. 是的,我知道,这个名字听起来不对,但确实有效。