2009-03-18 3 views
17

vim + ctagsは、関数のオーバーロードを許可していないため、基本的なスコープ機能によるシンボルの手動プレフィックスの使用を一般的に推奨しているため、Cプロジェクトではうまく機能します。vim、ctags、および同じ名前の識別子

C++では、関数が頻繁にオーバーロードされ、サブクラスでオーバーライドされます。これにより、vimは常に"Ctrl + ]"の間違ったクラスのタグにジャンプします。もう少し知的に動作させる方法はありますか?私はタグの選択肢を持ったリストを持ってくることができるのは分かっていますが、それは常にこのリストを持ち上げて、定義にジャンプしたいときはいつも必要なタグを番号で見つけなければならないということです。

+0

は、この問題に対する有益な解決策を見てみたいです。私はViemuをますます使用していますが、VCのプロジェクト以外に切り替えると、今でも私を迎えます。 – RedBlueThing

+0

大きな質問ですが、私はこれに対する答えも知りたいと思います。 – Dan

答えて

12

は、次のタグに移動するためにも、 "tagNext" があります(または:TN < >を入力してください)

6

は、私はあなたのporblemのための2つの回避策を知っている(あなたがあまりにもそれを知っていたようだ):

  • 使用:tselectとタグ名またはg]をタグにカーソルを合わせて、一致するタグのリストを取得し、リスト上の番号でタグに移動します。
  • map:tnextまたは:hotkeyのtprev(私はF6とF7にマップしました)必要な機能をマニュアルで見つけました。
5
あなたは

など、あなたがクラス名または「フィールド」、「機能」、「コンストラクタ」のような特殊なタグの一部の文字を入力して、必要なタグを選択するのに役立ちます私のスクリプトを、使用することができます

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

8

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

使用法:

:tj foo 
関連する問題