Vimでのオートコンプリート
一言で言えば、私が探してる作業のVimエディタの自動補完機能。VimはLinuxでIDEを完全に置き換えると以前に主張しましたが、確かにそうですが、オートコンプリートという重要な機能が1つ欠けています。 私が知っているCtrl+ N、あふれんばかりのctagsの統合、タグリスト、cppcompleteとOmniCppComplete。悲しいかな、これらはどれも「動作するオートコンプリート」の私の説明に適合しません。 Ctrl+はN、スペルの方法を忘れた場合にのみ(classまたは)うまく機能しますwhile。しかたがない。 Ctagsは基本的な機能を提供しますが、多くの欠点があります。 Taglistは単なるCtagsラッパーであり、そのため、その欠点のほとんどを継承しています(ただし、宣言をリストする場合はうまく機能します)。 cppcompleteが約束どおりに機能しないだけでなく、私が何を間違えたか、またはそれが正しく「機能」していて、制限が仕様によるものであるかどうかがわかりません。 OmniCppCompleteにはcppcompleteと同じ問題があるようです。つまり、オートコンプリートが適切に機能しません。さらに、tagsファイルをもう一度手動で更新する必要があります。 私は、現代の本格的なIDEでさえ、優れたC ++コード補完を提供していないという事実を知っています。だからこそ、今までこの分野でのVimの欠如を受け入れてきました。しかし、コード補完の基本的なレベルは要求するほど多くはなく、実際に生産的な使用に必要とされると思います。だから、少なくとも次のことを達成できる何かを探しています。 構文認識。cppcompleteの約束(ただし、私には提供されません)、次の正しいスコープを認識した自動補完: variableName.abc variableName->abc typeName::abc そして、実際には、それ以外のものはまったく役に立ちません。 構成可能性。(簡単に)ソースファイルの場所を指定する必要があるため、スクリプトがオートコンプリート情報を取得する場所を指定します。実際、必要なインクルードパスを指定するMakefileがディレクトリにあります。Eclipseはそこにある情報を解釈できます。なぜVimスクリプトも解釈しないのですか? 最新性。ファイル内の何かを変更したらすぐに、オートコンプリートにこれを反映させたいと思います。手動でトリガーしたくありませんctags(または同等のもの)。また、変更があるべきインクリメンタル私は1つのファイルだけを変更したとき、すなわち、それは完全だが、受け入れられないためにctags(巨大な可能性がある)の再解析ディレクトリツリー全体へ。 何か忘れましたか?自由に更新してください。 たくさんの設定やいじりに慣れていますが、ソリューションを最初からプログラミングしたくありません。Vimスクリプトのデバッグは得意ではありません。 最後に、JavaとC#についても同様のものが欲しいのですが、期待するのは多すぎると思いctagsます。コードファイルを解析するだけで、JavaとC#の両方に、インデックスを付ける必要のある巨大なプリコンパイル済みフレームワークがあります。残念ながら、IDEなしで.NETを開発することは、C ++よりもPITAのほうがはるかに優れています。