我在linux上使用带有vim的etags进行源代码(* .c,* .h)代码浏览。我创建了一个TAGS文件,给出了命令:
etags --members *.c *.h
TAGS文件被创建,但是当我开始浏览时,说出一个名为1.c的源文件,其中有一个C结构变量已定义并在其中一个函数定义中使用(结构名称是其他一些类型的一个typedef)文件)。我在vim中打开文件1.c然后通过将光标放在该结构类型上来执行CTRL - ]
,etags不会浏览到具有此结构声明的头文件1.h。
这只发生在我的.vimrc下面的行,当我在两行以下评论时,基于etags的源浏览工作正常。
set TAGS=./TAGS;$HOME
set tags=./tags;$HOME
我想告诉vim在哪里找到TAGS文件。从当前文件夹开始直到我的家庭目录。这里有什么不对?
上述命令的正确语法是什么?
用vim浏览ctags / etags,显示所有给定函数的调用位置? 如果是,那么看到的命令是什么?
答案 0 :(得分:1)
查找代码文件
Vim的设置区分大小写,因此set TAGS=
无效。您必须使用小写的set tags=
。
Vim将在第一场比赛时停止,因此您无法真正期望它在tags
和 TAGS
中搜索代码。可以依次搜索这些文件:
set tags=./tags,./TAGS;$HOME " 1. tags, 2. TAGS, 3.… until $HOME
此外,搜索不是由etags
执行的,而是由Vim自己完成的。
跳转到函数调用
不,ctags
和etags
仅索引声明。要快速使用,您需要cscope