Hi,欢迎来到中国嵌入式培训高端品牌 - 华清远见嵌入式学院<北京总部官网>,专注嵌入式工程师培养13年!
当前位置: > 嵌入式学院 > 嵌入式学习 > 讲师博文 > 如何使用vim的插件Ctags查看Linux源码
如何使用vim的插件Ctags查看Linux源码
时间:2017-07-26作者:华清远见

一.ubuntu下安装Linux内核源码

(1).查看自己的内核版本

(2).查看源内的内核源码类表

(3).下载源码

(4).进入/usr/src

(5).解压下载的文件到用户主

二.安装vim插件Ctags和使用

插件的介绍

Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础。

(1).下载并安装

(2).基本功能使用

 1.$ ctags –R *      ($ 为Linux系统Shell提示符)

 2.$ vi –t tag        (请把tag替换为您欲查找的变量或函数名)

 3.:ts      

(ts 助记字:tags list, “:”开头的命令为VI中命令行模式命令)

 4.:tp                                (tp 助记字:tags preview)

 5.:tn                                (tn 助记字:tags next) 

6.Ctrl + ]

7.Ctrl+T

命令解释:

“$ ctags –R *”:“-R”表示递归创建,也就包括源代码根目录(当前目录)下的所有子目录。“*”表示所有文件。这条命令会在当前目录下产生一个“tags”文件,当用户在当前目录中运行vi时,会自动载入此tags文件。

Tags文件中包括这些对象的列表:

1.用#define定义的宏

2.枚举型变量的值

3.函数的定义、原型和声明

4.名字空间(namespace)

5.类型定义(typedefs)

6.变量(包括定义和声明)

7.类(class)、结构(struct)、枚举类型(enum)和联合(union)

8.类、结构和联合中成员变量或函数

VIM用这个“tags”文件来定位上面这些做了标记的对象。

 

剩下的命令就是定位这些对象的方法:

“$ vi –t tag” :在运行vim的时候加上“-t”参数,例如:

[/usr/src]$ vim -t main

这个命令将打开定义“main”(变量或函数或其它)的文件,并把光标定位到这一行。

 

如果这个变量或函数有多处定义,在VI命令行模式

“:ts”命令就能列出一个列表供用户选择。    

“:tp”为上一个tag标记文件,

“:tn”为下一个tag标记文件。当然,若当前tags文件中用户所查找的变量或函数名只有一个,“:tp,:tn”命令不可用。

 

最方便的方法是把光标移到变量名或函数名上,然后按下“Ctrl+]”,这样就能直接跳到这个变量或函数定义的源文件中,并把光标定位到这一行。用“Ctrl+t”可以退回原来的地方。即使用户使用了N次“Ctrl+]”查找了N个变量,按N次“Ctrl+t”也能回到最初打开的文件,它会按原路返回 。

更多功能通过命令man ctags或在Vim命令行下运行help ctags查询。

查看函数strlen的步骤如下:

(1).给当前文件夹及其及其子目录创建tags标记文件.

(2).使用vim打开标记文件

(3).使用ts显示该函数的列表

(4).按space出现下面界面

(5).找到lib/*.c,输入编号

(6).显示源码

(7).查看变量的定义,光标放在变量上,按ctrl+] ,ctrl+o/t回来

(8).打开/etc/vim/vimrc文件

(9).在最低端添加set tags=tags;/

在当前路径下未找到tags文件,去上级路径以及上上路径去查找


发表评论

全国咨询电话:400-611-6270,双休日及节假日请致电值班手机:15010390966

在线咨询: 曹老师QQ(3337544669), 徐老师QQ(1462495461), 刘老师 QQ(3108687497)

企业培训洽谈专线:010-82600901,院校合作洽谈专线:010-82600350,在线咨询:QQ(248856300)

Copyright 2004-2017 华清远见教育集团 版权所有 ,沪ICP备10038863号,京公海网安备110108001117号