使用C的旺盛ctags不能正确地重定向到函数定义

时间:2013-05-20 08:43:38

标签: c vim exuberant-ctags

我在旧项目中使用带有C的ctags,主要是在Vim中编码。 ctags工作正常[重定向完美]

现在代码库发生了很大的变化,我运行了命令: ctags -R,现在当我做Ctrl + ]时,我没有像以前那样接受函数/宏定义,有时它会把我带到正确的行,但大多数情况下它需要我去一些行高于/低于实际定义。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

听起来你的项目中的每个目录都有一个标记文件。 ctags -R仅更改当前目录中的标记文件它不会递归更改所有标记文件。这就是为什么当你<C+]>跳到一个接近实际定义的地方时。

要解决此问题,您应该只有一个标记文件,它应该位于项目的根目录中。然后在你的vimrc中添加set tags=./tags;/。这允许vim从树上的当前目录开始搜索标记文件,直到找到它为止。 (停在根目录)