ctags生成tags文件

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 以何种语言的语法扫描某类文件

你可能感兴趣的:(ctags生成tags文件)