「oh-my-zsh」SVN補完を無効にする


1

私はZshバージョン4.3.11oh-my-zshフレームワークとともに使用してい ます。

「oh-my-zsh」と組み合わせると、Zshは、コマンド中にTabキーが押されると、SVN(およびその点でGit)コマンドを自動補完しようとします。明らかに背後で解析マジックを実行するため、巨大なリポジトリでSVNコマンドを自動補完すると、大幅な遅延が発生します。

svn add a[TAB]
* ~2-3 second delay *
svn add apps/

これは私を端に追いやり、Zshに賞賛しか残さずに数か月後、特定のリポジトリでシェルを使用できないのはばかげているので、一時的にBashに戻りました。

注:
ここには2つの追加要因があり、それらの重要性は不明ですが、とにかくそれらをリストします。

  • これはSSHで行われます
  • 通常のファイル名の自動補完は完全に瞬時です。SVNコマンド中のファイル名の自動補完のみが遅れています。

回答:


2

確かに、それは良い方法ではありませんが、次のコマンドでsvn補完を上書きできます

compdef '_files -g "*"' svn

その後、zshファイルのみを提供します

% svn     
tags in context :completion::complete:svn::
    globbed-files  (_files)

専用の時間のかかる_svn補完の代わりに:

% svn 
tags in context :completion::complete:svn::
    argument-1 options  (_arguments _svn _subversion)
tags in context :completion::complete:svn:argument-1:
    commands  (_svn _subversion)

これを試してみます。これまでさまざまなcompdef設定を試してみましたが、これはうまくいきませんでした。:)明日仕事に着いたらチェックしてみよう。ありがとう!
クリスタ

これは完全にトリックを行いました。Zshのを使用してからのみかゆみは、本明細書:)、おかげで負荷を排除している
krystah
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.