6

vim で Python 補完の涅槃を探しているうちに、 <Cx> <Ci>: "keywords in the current and included files" が大好きになりました。これにより、ほとんどの場合、完了した別のモジュールから長い厄介な名前が付けられますが、これは素晴らしいことです。

(オムニ補完は、動作する場合は明らかに優れていますが、あまりにも頻繁に、一致するものを見つけることができないと報告されます。わかりました、Python は Java ではありません。わかりました)

このマルチファイル補完の唯一の問題は、処理が非常に遅いことです。私のネットブックでは、<Cx> <Ci> を押すたびに、適切なインポート セットを含むファイルを解析するのに 4 ~ 5 秒かかることがあります。<Cx> <Ci> を押すたびに、インポートされたすべてのファイルが読み込まれるようです。ファイルをキャッシュする方法や、このプロセスを高速化する方法はありますか? タグ補完を使用すると速くなりますか?

4

1 に答える 1

6

複数のソース ファイルを含むプロジェクトで作業している場合、このプロセスに時間がかかる可能性は十分にあります (vim は、含まれているすべてのソース ファイルを解析して、さらに含まれているソース ファイルを見つけ、単語リストを作成する必要があります)。タグ補完を使用できます。 、ctags の出力を使用してほぼ同じことを行いますが、速度の違いを確認するには、いくつかのテストを実行する必要があります。

私は個人的に完全補完 (<C-P>または<C-N>挿入モード) を使用します。デフォルトでは、すべてのバッファー (アンロードされたバッファー、つまり閉じられたファイルも含む)内のすべての単語に一致しますが、非常に高速です。それでも、2〜3文字後にアクティブにしても、完了は非常に正確に機能することがわかりました.

于 2009-10-01T08:27:13.530 に答える