web-dev-qa-db-ja.com

gitコマンドのZSHタブ補完は非常に遅いです。どうすればオフにできますか?

入力した場合:

rm <TAB>

ほぼ瞬時に完了の可能性がわかります。

ただし、次のように入力すると:

git rm <TAB>

Gitリポジトリ内にある場合は数秒間ハングし、gitリポジトリ外にある場合は完了を表示できません。

この動作を修正するにはどうすればよいですか?

私の.zshrcには、gitと関係があるように見えるものは何もありません:-/

19
Casey Rodarmor

私はついにこれをグーグルで検索して思いついた this SO answer、 これは私にとって完璧に機能した。これを.zshrcに追加する:

__git_files () { 
    _wanted files expl 'local files' _files     
}

深いメーリングリストスレッドもあります ここ それについてzshがとても長くかかるために何をしているのかを説明しています。

28
Christopher

別のオプションは次のとおりです。公式のGitzsh補完: git-completion.zsh 。あなたがする必要があるのはそれを~/.zsh/_gitにダウンロードし、それがあなたのfpathにあることを確認することです:

fpath=(~/.zsh $fpath)

このスレッド が別の応答で言及されているのは興味深いと思います。私はそのスレッドを開始し、その結果、公式のGitzshコンプリーションを作成しました。

1
FelipeC