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


18

入力した場合:

rm <TAB>

ほぼすぐに完了候補が表示されます。

ただし、次のように入力した場合:

git rm <TAB>

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

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

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


+1これにより、<TAB>gitを使用するときに頭を打たないように頭がぶっきらぼうになりました。
クリストファー

回答:


26

私は最終的にこれをグーグルで悩まして、このSOの答えを思い付きました。これを追加.zshrc

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

また、ここにはディープメーリングリストスレッドがあり、何zshがそんなに時間がかかるかを説明しています。


1
これはうまくいきませんでした。次のoh-my-zshプラグインをロードしています:plugins =(git gitfast last-working-dir zeus)。プラグインの後に上記の関数をロードしました。
ジャスティンゴードン

1
同じ問題がありました。成功を確認するためのコメント:OSX 10.8.5、zsh 4.3.11、git 1.8.2では、.zshrcエントリがすべての違いを生み出しました。これがないと、CPUは定期的に100%に固定されます。これにより、Gitコマンドのタブ補完は他とほぼ同じように見えます。ありがとうございました!:)
毎週14

必ずzshプラグインのにこのコマンドを置いてください。さもないと、クイックオートコンプリートが行われますが、実際にgitコマンドを実行しようとするとエラーになります。
サイモン

1

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

fpath=(~/.zsh $fpath)

このスレッドが別の応答で言及されているのは興味深いことです。そのスレッドを開始し、結果として公式のGit zsh補完を作成しました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.