使用VIM插件ctags来阅读C代码

一、说明

Ctags 是 vim 下方便代码阅读的工具。尽管 ctags 也能够支持其它编辑器,可是它正式支持的只有 vim。而且 vim 中已经默认安装 ctags,它能够帮助程序员很容易地浏览源代码;ctags 最早是用来生成 C 代码的 tags 文件,后来扩展成能够生成各种语言的 tags,可是我主要仍是用来阅读 C 源代码。程序员

ctags更新地址:http://ctags.sourceforge.net/ 这个网站是 ctags 的官方网站,能够下载到关于 ctags 的最新内容。vim

二、ctags能定位什么内容

1) 用#define定义的宏
2) 枚举类型变量的值
3) 函数的定义、原型和声明
4) 名字空间(namespace)
5) 类型定义(typedef)
6) 变量(包括定义和声明)
7) 类、结构体、枚举类型、联合
8) 类、结构体和联合中成员变量或函数centos

三、安装ctags

若是是redhat或centos系统能够直接使用yum在线安装编辑器

[root@localhost ~]# yum install ctags

源码位置生成tags文件函数

[root@localhost ~]# ctags -R *

四、查找操做(3种使用方式)

1)直接在命令行上操做工具

[root@localhost ~]# vim -t main
[root@localhost ~]# vim -t pos_create_task

结果:直接打开对应符号对应文件,并定位到该符号的定义位置。经常使用在知道符号,但不知道在哪一个文件模块中的位置。网站

2)在vim的模式下使用": ta"命令spa

:ta main
:ta pos_create_task

3)在光标指定位置下直接使用"ctrl + ]"
在光标指定的位置下直接使用 "crtl + ]" 就能够定位到函数的定义位置;使用 "ctrl + t" 快捷键返回到上次跳转以前的位置。.net

关于ctags的用法不少,如下是咱们列举的部分:
-->"ctrl + t"退回到原来的地方
-->"[{"转到上一个位于第一列的"{"
-->"}]"转到下一个位于第一列的"{" /* 彷佛无论用 */
-->"{"转到上一个空行
-->"}"转到下一个空行
-->"gd"转到当前光标所指的局部变量的定义
-->"*"转到当前光标所指的单词一次出现的地方
-->"#"转到当前光标所指的单词上一次出现的地方命令行

五、注意事项

使用 vim 打开相关使用 tags 标记的源文件时,当前目录要在 tags 所在目录下执行 vim 命令。若是在其子目录下边执行 vim 打开相应文件,默认是使用不了 ctags 的跳转功能的。解决的方式是,在 vim 的配置文件中 /etc/vimrc 或者 ~/.vimrc 中设置:set tags=/var/dz_resource/ineedle/soft/tags,这样就能够了。

相关文章
相关标签/搜索