源代码查看工具:vim中ctags的使用(跳转查定义)
2016-02-18 14:44
441 查看
官方网站:http://ctags.sourceforge.net/
下载后使用tar+configure+make+make install进行安装。
使用前需要在源代码目录执行命令:
参数的含义:
-R表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。*表示所有文件。这条命令会在当前目录下产生一个“tags”文件,当用户在当前目录中运行vi时,会自动载入此tags文件。
Tags文件中包括这些对象的列表:
用#define定义的宏枚举型变量的值函数的定义、原型和声明名字空间(namespace)类型定义(typedefs)变量(包括定义和声明)类(class)、结构(struct)、枚举类型(enum)和联合(union)类、结构和联合中成员变量或函数VIM用这个“tags”文件来定位上面这些做了标记的对象。
:ta x
跳转到符号x的定义处,如果有多个符号,直接跳转到第一处
:ts x
列出符号x的定义
:tj x
可以看做上面两个命令的合并,如果只找到一个符号定义,那么直接跳转到符号定义处,如果有多个,则让用户自行选择。
Ctrl+]
跳转到当前光标下符号的定义处,和ta类似。
Ctrl+t
跳转到上一个符号定义处,和上面的配合基本上就能自由跳转了。
另外两个:tn, :tp是在符号的多个定义之间跳转
下载后使用tar+configure+make+make install进行安装。
$ tar -zxv -f ctags-5.8.tar.gz $ cd ctags-5.8 $ ./configure $ make $ sudo make install
使用前需要在源代码目录执行命令:
$ ctags -R *
参数的含义:
-R表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。*表示所有文件。这条命令会在当前目录下产生一个“tags”文件,当用户在当前目录中运行vi时,会自动载入此tags文件。
Tags文件中包括这些对象的列表:
用#define定义的宏枚举型变量的值函数的定义、原型和声明名字空间(namespace)类型定义(typedefs)变量(包括定义和声明)类(class)、结构(struct)、枚举类型(enum)和联合(union)类、结构和联合中成员变量或函数VIM用这个“tags”文件来定位上面这些做了标记的对象。
:ta x
跳转到符号x的定义处,如果有多个符号,直接跳转到第一处
:ts x
列出符号x的定义
:tj x
可以看做上面两个命令的合并,如果只找到一个符号定义,那么直接跳转到符号定义处,如果有多个,则让用户自行选择。
Ctrl+]
跳转到当前光标下符号的定义处,和ta类似。
Ctrl+t
跳转到上一个符号定义处,和上面的配合基本上就能自由跳转了。
另外两个:tn, :tp是在符号的多个定义之间跳转
相关文章推荐
- 从头认识Spring-2.7 自动检测Bean(3)-过滤器<context:exclude-filter/>
- MyEclipse 10 使用优化方法
- C#操作.csv文件Demo
- Go语言并发与并行学习笔记(一)
- 从头认识Spring-2.7 自动检测Bean(2)-过滤器<context:include-filter/>
- [群150178878]nRF51822学习笔记–硬件外设篇【1】
- 【python】编程语言入门经典100例--5
- 我的PHP之路
- Python 18.3 async/await
- python过滤文件
- java类作为JNI参数
- Java多线程下资源共享
- Struts2-2.了解struts.xml>package>action>result的name属性
- Unsupported major.minor version (jdk版本错误)
- QT学习笔记4
- php,is_null 和==null为何结果不同?
- php缓存技术之静态缓存
- springmvc的运行原理小记
- Java面向对象的基本知识<二>
- Java编程之CSV文件导入与导出的实现