利用ctags提升看、写代码的效率
来源:互联网 发布:新浪娱乐 网络兼职 编辑:程序博客网 时间:2024/05/16 09:05
用vi有一段时间了。要方便的查看c、c++代码的话,还是要依赖一些工具、插件之类的东西,比如用ctags生成符号链接文件。用ctrl+]可以方便的跳转到符号的定义处。vi初学者可能只是简单的使用ctags,而没有使用ctags的一些有用的选项。不加选项使用ctags的话,只能生成一些最基本的符号链接信息。
一.目前我使用的ctags的完整参数,供参考:
alias ctags="ctags -I __THROW --c-kinds=+pxd --fields=+iaS --extra=+qf -R "(将其加入profile,使得登陆机器后自动生效)
-I __THROW
ctags可能不能正确解析一些符号,比如如下函数声明,需要将__THROW忽略
extern int listen (int __fd, int __n) __THROW
--c-kinds=+pxd
+号表示enable后面的符号,-号表示disable后面的符号
p(Prototypes)表示给只有函数声明的头文件也生成tag(以前很强烈的的一个需求)
s(eXternal)表示给外部变量声明生成tag
d(Define)表示给宏定义生成tag
--fields=+iaS
+号表示enable后面的符号,-号表示disable后面的符号
a Access (or export) of class members(给类成员变量生成tag)
i Inheritance information(给继承信息生成tag)
S Signature of routine (e.g. prototype or parameter list)(给函数签名生成tag)
--extra=+qf
+号表示enable后面的符号,-号表示disable后面的符号
q给类成员对象生成标签的时候,成员标签前面加上类名标识:"class::member",方便跳转定位,减少重复标签带来的歧义
f(file),给文件名生成tag,方便跳转到某个文件,很有用
-R(recurse)
递归遍历一个目录,将目录下的所有源码文件的符号都解析到tags里面
二.将生成的tags路经配置到.vimrc文件里面,跳转的时候,vi会顺序查找每个tags,ctrl+]以第一个找到的符号为准。
可能同名符号有很多,ctrl+]只会简单跳转到第一个,可以::tn跳转到下一个同名符号,:tp跳转到上一个同名符号。用g+]可以把所有的符号列出来供你选择,
比如想跳转到某个文件,可以这样:
:ta后面跟上文件名
也可以先v模式,选定文件名,然后跳转
另外, :ta支持正则表达式, 比如可以:ta /h.*domain.h
- 利用ctags提升看、写代码的效率
- [CSAPP]提升代码的效率
- 提升代码的效率--复用
- 简单代码效率的提升
- 利用c模块代码,提升python代码执行效率
- 利用OpenMP提升效率
- 利用NSCache提升效率
- 利用NSCache提升效率
- 利用NSCache提升效率
- 利用NSCache提升效率
- 利用NSCache提升效率
- 利用NSCache提升效率
- 利用NSCache提升效率
- 利用NSCache提升效率
- 利用NSCache提升效率
- 利用NSCache提升效率
- paip.提升效率--僵尸代码的迷思
- 如何提升php代码的运行效率
- js原型链的理解
- 表名的中文及字段的name和comment的替换问题
- 调用android系统通讯录 添加一条通讯录数据
- C++学习笔记 day13
- UIScrollView判断滚动方向
- 利用ctags提升看、写代码的效率
- ios7上tableviewcell的背景色和ios6的差别
- 打开10及以上串口
- C语言中的位域
- C++学习笔记 day14
- lvs LVS调整hash bucket及内核编译 优化
- 分辨率与像素的关系
- 使用devstack安装部署openstack(所遇问题的解决方法)
- C++学习笔记 day15