具有 vim 的通用 ctags for c++

universal ctags with vim for c++

我最近开始处理一个庞大的 c++ 代码库,但我无法正确使用 ctags(universal-ctags)。 每当我对方法执行 CTRL+] 时,它都会跳转到命名空间定义。但是我想让它跳转到光标下方法的定义。

我使用以下方法生成了标签文件:

ctags -R --sort=no --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ .

我真的很感激任何关于这方面的帮助,或者除了 ctags 之外还有其他更好的导航 C++ 代码的方法。

执行 ctags --list-kinds=C++ 查看可以标记的内容以及默认启用的内容。注意“名称空间”旁边的 n。因此,要禁用名称空间标记,您应该在用于生成标记的命令中将 --c++-kinds=+p 替换为 --c++-kinds=+p-n

ctags -R --sort=no --c++-kinds=+p-n --fields=+iaS --extra=+q --language-force=C++ 

如果您不想禁用名称空间标记,请对方法执行 g] 而不是 CTRL-]。然后,您可以输入一个数字 select 您想要的标签。请注意“类型”列。 Select 带 f 的那个,如果你想跳转到函数或方法。