しばらくすると、ZSHオートコンプリートによってランダムエラーが発生するようです。

しばらくすると、ZSHオートコンプリートによってランダムエラーが発生するようです。

私のzshオートコンプリート機能は奇妙な方法で破損しています。きちんとしたログインの場合、すべてがうまく機能しますが、しばらくすると、さまざまな「種類」のオートコンプリートに対してランダムなオートコンプリートエラーが発生するようです。時にはls foo<tab>動作しますが、rm foo<tab>動作しません。私はこれをデバッグする方法を知りません。

この問題を引き起こす特定のコマンドのパターンが見つかりません。私はまた、何がうまくいき、何がうまくいかないのかについてのパターンを見ません。私は日常業務でgnuモジュールを使用し、make、コンパイラ、nanoなどを実行します。

オートコンプリート時に発生するエラーは次のとおりです。

/bin/zsh:4: _main_complete: function definition file not found

または

(eval):1: _autocd: function definition file not found
(eval):1: _autocd: function definition file not found
(eval):1: _autocd: function definition file not found
_main_complete:173: _ignored: function definition file not found
_main_complete:173: _ignored: function definition file not found
_main_complete:173: _ignored: function definition file not found

または

(eval):1: _rm: function definition file not found
(eval):1: _rm: function definition file not found
(eval):1: _rm: function definition file not found

_sudoと_moduleについて同様のメッセージを見ました。

私は、デフォルトのファイルシステムがnfsにあるシステムの複数のスクリーンセッションでzsh(5.0.2)とoh-my-zshを使用しています。ログインするたびにscreen -xrR自動的にスクリーンセッションに接続されます。.zprofile

hostnameログインするたびに、$HOME/.zcompdumpと$HOME/.zompdump--5.0.2の2つのファイルが作成されます。それらを削除しても違いはありません。

ベストアンサー1

これはFPATH変数ですfpath。これらの変数のいずれかの値を確認してください。これはzshロード機能のディレクトリのリストでなければなりません。

変数FPATHfpathは互いに関連しています(たとえば、PATHおよびpath)。ある変数を変更すると、他の変数にも影響します。大文字FPATHは、コロンで区切られたディレクトリのリストを含む文字列です。小文字はfpathディレクトリ配列です。

これらの名前が変数として使用できる場所があるかどうかを開始スクリプトを確認してください。変数名リストの確認置くまたは使用されるzsh( man zshparam) で他の目的に何も使用しないことを確認してください。

完成機能は自動的にロードされます。つまり、最初の使用時にロードされます。たとえば、シェルインスタンスで完了操作を完了すると、表示されなくなります。操作は機能し_main_complete: function definition file not foundましたが_main_complete、このメッセージの処理が停止すると、何か奇妙なことが発生しました。

おすすめ記事