Git のタブ オートコンプリートは小さなプロジェクトには便利ですが、現在 git を使用する 2 つの大きなプロジェクトに取り組んでおり、これらのプロジェクトでは役に立たないよりも悪いです。たとえば、 と入力するたびにgit add forms<tab>
、git がファイル (この例では forms.py) を見つけるのに 20 秒以上かかります。この間、ターミナルで他に何もできません。オートコンプリート機能をオフにする方法、または何らかの方法で高速化する方法はありますか?
6 に答える
ファイル名を自動補完するのは git ではなく、シェルです。「cat forms< tab >」などを実行するときに同じ遅延がありますか?
同様の問題があるこの投稿をチェックしてください。
http://talkings.org/post/5236392664/zsh-and-slow-git-completion
この投稿では、以下を .zshrc に追加することを提案しています。
__git_files () {
_wanted files expl 'local files' _files
}
編集:これがその投稿の原文です
大規模なリポジトリで git の自動補完が非常に遅くなる可能性があるという苦情に関連する多くの投稿を見つけました。最新の zsh をロードするためのさまざまな提案パッチと提案がありました。それらのいずれかが機能する可能性がありますが、私が本当に望んでいるのは、ファイルシステムにあるようにブランチとファイルの名前を完成させることだけです。この動作を取得する方法についての提案が見つからなかったので、自分で考え出しました。私はそれから恩恵を受ける可能性のある人のためにこれを共有すると思いました. 以下を .zshrc ファイルに追加しました。
__git_files () { _wanted files expl 'local files' _files }
これで、git コマンドを実行して、ls が提供するものと同様のファイル補完を取得しながら、ほぼ瞬時に補完することができます。
私はzshellの経験がありませんが、別のフォーラムでこの回答を得ました。この行を.zshrcファイルに含める必要があります。
compdef -d git
非常に手っ取り早い解決策の 1 つは、オートコンプリートの原因となっている次のファイルを削除することです。
/usr/local/git/contrib/completion/git-completion.bash