3

vim に関連するいくつかのプラグインが大好きで、それらのほとんどを git サブモジュール (clang_complete、cvim、fugitive、NerdTree、病原体、snipMate、supertab、taglist) としてインストールしましたが、機能しない基本的な機能が 2 つあります。すなわち

1) 例 -> 次の例をコンパイルした場合

// basic file operations
#include <iostream>
#include <fstream>
using namespace std;

int main () {
  ofstream myfile;
  myfile.open ("example.txt");
  myfile << "Writing this to a file.\n";
  myfile.close();
  return 0;
}

たとえば、関数 open 、つまり std から「myfile.open」にジャンプする方法がわかりません。図書館。コードを Visual Studio に貼り付けて [go to definition] をクリックすると、その場所に直接移動します。これは ctags で実行できると読みましたが、オートコンプリートが既に機能しているかどうか、つまり「myfile」と入力したときに自問しています。clang が私に与えているメソッドがたくさんあるので、vim から (ctrl + ]) に似たようなものから定義にジャンプするには、他のより良い方法が必要だと思います。

2)ドットを入力するたびにビジュアルスタジオ/.netで。メソッドが表示され、メソッドを下にスクロールすると、このメソッドが何をしているかについての簡単な説明が表示されます。vimで同様のものを有効にする方法はありますか. 私が知る限り、これは std ライブラリのプロパティである必要がありますが、std にはそのようなものは見られません。

4

2 に答える 2

3

あなたはVimとIDEを混同していると思います。

(非常に強力な)テキストエディタで、少なくともある程度の努力なしに、IDE機能が利用可能になることを期待することはできません

  1. Vimの「宣言に移動」に相当するもの、<C-]>またはコードベースと標準ライブラリに対してexuberant-ctagsまたは互換性のあるプログラムによって生成された:tag foo<cr>1つ以上の可用性に依存します。Vimには(AFAIK)言語用のこのようなファイルが付属していないため、自分でファイルを生成し、Vimにそのファイルの場所を指示する必要があります。そのために特別に書かれたプログラムさえありますが、私はそれを使ったことがありません。tagstagshdrtag

  2. いくつかのオートコンプリートプラグインがポップアップメニューにメソッドのシグネチャを表示するのを見たことがあると思います。他のプラグイン(PHP、Python)は小さな「プレビュー」ウィンドウを開きます。それはあなたが得ることができる限りです。<C-w>}最新のファイルがある場合もありtagsます。

繰り返しますが、VimはIDEではありません。

于 2012-11-11T20:44:40.187 に答える
0

インデックスを生成するときに、ctags が std ライブラリにあるソース コードを見つけられることを確認してください。

デフォルトでは、これらのインデックス ツールは現在のディレクトリ (およびそのサブフォルダー) にコードを追加するだけなので、そのコードがシステムのどこにインストールされているかを手動で伝える必要があります。

于 2012-11-11T21:28:40.043 に答える