18

vim + ctagsC では関数のオーバーロードが許可されておらず、一般に、基本的なスコーピング機能により、シンボルの手動プレフィックスが推奨されるため、C プロジェクトではうまく機能します。

C++ では、関数は頻繁にオーバーロードされ、サブクラスでオーバーライドされます。これにより、vim は常に の間違ったクラスのタグにジャンプし"Ctrl + ]"ます。もう少し賢く振る舞う方法はありますか?タグの代替リストを持ってくることができることは知っていますが、定義にジャンプしたいときはいつでもこのリストを表示し、番号で必要なタグを見つけなければならないのは非常に面倒です.

4

4 に答える 4

13

次のタグに移動する "tagNext" もあります (または :tn<enter>)

于 2009-03-18T04:55:19.653 に答える
8

私はtjumpをよく使います。便利なタブ補完をサポートしています。複数のタグが見つかった場合は、リストから選択できます。1 つしか見つからない場合は、そのタグに直接ジャンプします ( tselectとは異なります)。

使用法:

:tj foo
于 2009-03-19T01:24:56.250 に答える
7

私はあなたの問題に対する 2 つの回避策を知っています (あなたもそれを知っていたようです):

  • :tselect とタグ名または g] を使用してタグにカーソルを置き、一致したタグのリストを取得し、リストから番号でタグに移動します。
  • ホットキーに :tnext または :tprev をマップし ( F6 および F7 にマップしました)、必要な機能を手動で見つけます。
于 2009-03-18T08:29:02.587 に答える
5

クラス名の文字を入力するか、「フィールド」、「関数」、「コンストラクター」などの特別なタグを入力して、必要なタグを選択するのに役立つ私のスクリプトを使用できます。

http://www.vim.org/scripts/script.php?script_id=2507

于 2009-03-18T08:51:10.600 に答える