2017-10-11 63 views
1

如何跳轉到C++方法的聲明而不是使用:tagC-]的定義?我試圖Vim:如何轉到使用ctags的C++方法的聲明

ctags * --C++-kinds=+p 

生成標籤文件,但仍:tselect沒有列出任何聲明,只是定義。頭文件是hpp文件,源文件是cpp文件,全部在同一個目錄中。

我看過this answer但它不回答我的問題,除了從上面的想法(--<LANG>-kinds)從哪裏發表評論。

回答

1

我使用下列選項:--c++-kinds=+pf --fields=+imaSft --extras=+q。在許多其他事情中,我看到函數定義和函數聲明。

我在a plugin I've been maintaining中自動處理所有事情很長一段時間。

在同一被攝體,也參見:

順便說一句,我強烈建議使用萬向ctags的(所保持的叉)代替exhuberant的ctags(古老的和未維護的項目)當試圖爲C++生成標籤時。

+0

這是否僅適用於通用ctags?我用旺盛的嘗試,但不支持'額外'。我嘗試沒有它(只有種類和領域),但我仍然沒有得到聲明。儘管如此,感謝您指點我的通用ctags。 –

+0

確實。對不起,它曾經是ex-ctags的'extra'。 –

+0

太好了,謝謝! '--C++ - kinds = + pf --extra = + q'就足以讓它首先跳到原型並在我做'g C-]'時顯示原型。有沒有辦法保持原型標籤,但它首先跳到定義? –