ctags可以方便的查看函数和变量定义的地方
ubuntu下安装
sudo apt-get install ctags
生成tags文件
只有为你的源代码文件生成tags文件,才能使用ctags
ctags -R
递归的为当前目录及子目录下的所有代码文件生成tags文件
ctags file1.c file2.c
为某些文件生成tags文件
为了使得字段补全有效,在生成tags时需要一些额外的参数,推荐的c++参数主要是:
ctags -R --c++-kinds=+px --fields=+iaS --extra=+q
其中:
选项c++-kinds 用于指定C++语言的 tags记录类型, –c-kinds用于指定C语言的, 通用格式是 –{language}-kinds
选项 fileds 用于指定每条标记的扩展字段域
extra 选项用于增加额外的条目: f表示为每个文件增加一个条目, q为每个类增加一个条目
使用
Vim默认会自动读取当前目录下的tags文件。
如果你需要手动指定tags文件,在vim中输入命令:set tags=[path]/tags
,若要引用多个不同目录的tags文件,可以用逗号隔开。也可以将set命令放到~/.vimrc中,默认设置。
使用命令:
ctrl+]
跳转到光标所在变量或函数的定义处
:ta name
跳转到name定义处
ctrl+o/t
返回到跳转前的位置
加入系统库tag是文件
ctags -I __THROW --file-scope=yes --langmap=c:+.h --languages=c,c++ --links=yes --c-kinds=+p --fields=+S -R -f ~/.vim/systags /usr/include /usr/local/include
其关键是-I __THROW部分和–c-kinds=+p部分。设置-I后,ctags会在处理文件时,就会忽略-I后面写出来的符号(防止__THROW干扰ctags)。而–c-kinds=+p 则告诉ctags需要为函数原型的声明也生成tag。–langmap=c:+.h表示.h视为c文件而不是c++文件。
该命令将生成的tags放在~/vim目录下,在~/.vimrc中加入一行:
set tags+=~/.vim/systags
就可以享受系统库函数名补全、原型预览等功能了。
转载自
http://blog.csdn.net/g_brightboy/article/details/16830395
http://blog.chinaunix.net/uid-26495963-id-3354644.html