具有 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
的那个,如果你想跳转到函数或方法。
我最近开始处理一个庞大的 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
的那个,如果你想跳转到函数或方法。