2017-10-11 30 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-]'时显示原型。有没有办法保持原型标签,但它首先跳到定义? –