$ ls -l `brew --prefix`/share/zsh/site-functions/
で _git
と git-completion.bash
が表示されていることを確認する。
だめだったら以下
$ brew link git
$ brew link --overwrite git
zcompdump のリビルド
$ rm -f ~/.zcompdump; compinit
$ mkdir ~/.zsh/completion/
$ cd ~/.zsh/completion/
$ curl -O https://raw.github.com/git/git/master/contrib/completion/git-completion.bash
$ curl -O https://raw.github.com/git/git/master/contrib/completion/git-completion.zsh
$ mv git-completion.zsh _git
# brew の場合
fpath=($(brew --prefix)/share/zsh/site-functions $fpath)
# brew じゃない
fpath=(~/.zsh/completion $fpath)
# 補完機能有効にする
autoload -U compinit
compinit -u
# 補完候補に色つける
autoload -U colors
colors
zstyle ':completion:*' list-colors "${LS_COLORS}"
# 単語の入力途中でもTab補完を有効化
setopt complete_in_word
# 補完候補をハイライト
zstyle ':completion:*:default' menu select=1
# キャッシュの利用による補完の高速化
zstyle ':completion::complete:*' use-cache true
# 大文字、小文字を区別せず補完する
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
# 補完リストの表示間隔を狭くする
setopt list_packed
# コマンドの打ち間違いを指摘してくれる
setopt correct
SPROMPT="correct: $RED%R$DEFAULT -> $GREEN%r$DEFAULT ? [Yes/No/Abort/Edit] => "