ctags生成tags文件
安装ctags之后,在项目目录下执行
$ctags --fields=+iaS --extra=+q -R
如果要添加系统函数,执行下面的命令,可以根据自己的需要添加具体路径,注意最后需要*号
$ctags -I __THROW -I __attribute_pure__ -I __nonnull -I __attribute__ --file-scope=yes --langmap=c:+.h --languages=c,c++ --links=yes --c-kinds=+p --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/systags /usr/include/* /usr/include/c++/4.8/bits/* /usr/include/netinet/* /usr/include/arpa/* /usr/include/mysql/*
然后在.vimrc中添加
set tags=~/.vim/systags
set tags=~/(your work path)/ctags
tags有一个小技巧,在vimrc文件中设置:
set tags=tags;
(注意有分号),在vi中使用定位快捷键时会先在当前目录中查找tags文件,找不到的话,就会到父目录中找。
参数说明:
- –fields指定tags的可用扩展域(extension fields),以包含到tags入口。
- i:继承信息Inheritance information
- a:类成员的访问控制信息 Access (or export) of class members
- S: 常规签名信息,如原型或参数表 Signature of routine(e.g. prototype or parameter list)
- –extra=[+|-]flags
指定是否包含某种扩展信息到tags入口。 - q:包含类成员信息(如c++,java,Eiffel)。
- I: 忽略属性
- languages 只扫描指定语言的文件
- languagemap 以何种语言的语法扫描某类文件