cat writebug.cn/history

一个开发者的技术博客。

gtags使用

gtags global

安装好以后,有global、gtags、gtags-cscope三个命令。global是查询,gtags是生成索引文件,gtags-cscope是与cscope一样的界面

example:

代码:

$ cd project/
$ gtags

这样就生成了整个目录的索引文件,包括GTAGS、GRTAGS、GPATH三个文件。

你也可以先用find命令生成一个文件列表,叫gtags.files,然后再执行gtags,就会只索引gtags.files里的文件。

example:
代码:
$ cd project/
$ find . -name "*.[ch]" > gtags.files
$ gtags

查询使用的命令是global和gtags-cscope。前者是命令行界面,后者是与cscope兼容的ncurses界面。这里就不多介绍了,重点是如何在vim里查询:

首先进入vim,然后:

example
代码:
:set cscopeprg=gtags-cscope
:cs add GTAGS

然后就可以像cscope一样,用cs find g等命令进行查询了。

当我们更改了某个文件以后,比如project/subdir1/subdir2/file1.c,想更新索引文件(索引文件是project/GTAGS),只消这样:

example:
代码:
$ cd project/subdir1/subdir2/
$ vim file1.c
$ global -u