Chinaunix首页 | 论坛 | 博客
  • 博客访问: 215061
  • 博文数量: 27
  • 博客积分: 527
  • 博客等级: 中士
  • 技术积分: 262
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-07 19:52
文章分类
文章存档

2013年(6)

2012年(21)

分类: LINUX

2012-09-08 10:34:34

很多人都抱怨Linux下阅读源代码很不方便,说还是习惯于WIn下看代码,即便是编写Linux下的程序,也是先在Win下编写好,然后在Linux下编译。 

Linux下阅读源代码的方法很多,聪明人从标题应该就可以知道,需要(g)vim Taglist ctags。3者配合,真是珠联璧合,功力无限啊!

(1)vim/gvim
什么是vim/gvim,如果看官连vi都不知道,那就别往下看了。一些对Linux一知半解的人说,vi不就是一个和Win下的note pad一样的工具吗?其实大错特错了,如果仅仅是和note pad一样的功能,那它早就不叫vi了。

(2)Taglist
Taglist是一个vim的源代码浏览插件,具体功能介绍还烦请各位看官自己google一下。很多事情还需要亲身经历才有用,别人代劳是不行的。

需要安装这个插件,插件下载地址:Taglist下载地址

里面有很多版本,可以下载目前最新版本:

下载后,首先解压,怎么解压?自己想办法吧。
然后在用户主目录下建立一个隐藏文件夹.vim,并将Taglist解压得到的目录中的plugin复制到.vim目录中。当然,连同其他目录一同复制进去也没有问题。

(3)Ctags
Ctags是一个用于生产tags文件的软件。下载地址,还是上网搜搜吧,还是说了吧:。
下载有进行解压编译安装即可。怎么解压编译安装?当然,比Win下直接双击setup.exe要复杂一些,但是不同世界有不同规则,没有办法,呵呵。

刚刚解压出目录下有一个Makefile.in文件,分别执行:

./configure                    ./configure作用  读取   Makefile.in   来产生   Makefile

 make                           执行Makefile,生产可执行文件

 make install                   把生成的可执行文件拷贝到用户指定目录,并做修改权限,新建文件夹等操作

(4)阅读源代码
首先进入准备查看的源代码的目录,先生成一个tags文件。
$ ctags -R

"-R"表示递归创建,也就包括源代码根目录下的所有子目录下的源程序。"tags"文件中包括这些对象的列表:
l 用#define定义的宏
l 枚举型变量的值
l 函数的定义、原型和声明
l 名字空间(namespace)
l 类型定义(typedefs)
l 变量(包括定义和声明)
l 类(class)、结构(struct)、枚举类型(enum)和联合(union)
l 类、结构和联合中成员变量或函数

1) 用命令行。在运行vim的时候加上"-t"参数,例如:
[/home/brimmer/src]$ vim -t foo_bar
这个命令将打开定义"foo_bar"(变量或函数或其它)的文件,并把光标定位到这一行。
2) 在vim编辑器内用":ta"命令,例如:
:ta foo_bar
3) 最方便的方法是把光标移到变量名或函数名上,然后按下"Ctrl-]"。用"Ctrl-o"退回原来的地方。
                   注意:运行vim的时候,必须在"tags"文件所在的目录下运行。否则,运行vim的时候还要用":set tags="命令设定"tags"文件的路径,这样vim才能找到"tags"文件。


在函数中移动光标
[{ 转到上一个位于第一列的"{"
}] 转到下一个位于第一列的"{"
{ 转到上一个空行
} 转到下一个空行 ([ and ] 也分别是两个指令)
gd 转到当前光标所指的局部变量的定义
* 转到当前光标所指的单词下一次出现的地方
# 转到当前光标所指的单词上一次出现的地方

       然后使用vim打开一个C文件。如果要想知道某个人函数或者结构体在什么地方,只要将光标移动到函数上,然后按住CTRL+]即可,看完后安CTRL O又会回到原来的地方。

       查看函数列表。还需要启动Taglist,在Vim的命令状态输入:TlistToggle,在Vim界面的左面就会出现函数列表。按住CTRL+WW(2次W),可以切换到函数列表区,移动到函数名称行后按ENTER即可查看函数代码。

gvim
可 能很多看官对vim的命令操作不熟悉,或者不习惯键盘操作,那就可以使用gvim加上以上两个工具即可。只要使用gvim打开C文件,然后启用函数列表, 直接双击函数名称就会跳转到函数处。按住CTRL 鼠标左右键即可跟踪或者回退,操作更加方便,比Win下很多工具还要好。

 

参考资料:http://blog.csdn.net/rilon1988/article/details/4014435

                

为方便下载,附上附件 taglist_45.zip 

   ctags-5.8.zip   

需要把 ctags-5.8.zip 后缀名改成ctags-5.8.tar.gz,才可以在Linux下面就行操作

阅读(2510) | 评论(1) | 转发(0) |
0

上一篇:Git常用命令

下一篇:C语言的const

给主人留下些什么吧!~~

xiaoqiang_linux2013-05-13 17:13:49

若要默认打开taglist,_vimrc中加入 

let Tlist_Auto_Open=1

set tags=tags;

set autochdir


  注意第一个命令里的分号是必不可少的。这个命令让vim首先在当前目录里寻找tags文件,如果没有找到tags文件,或者没有找到对应的目标,就到父目 录中查找,一直向上递归。因为tags文件中记录的路径总是相对于tags文件所在的路径,所以要使用第二个设置项来改变vim的当前目录。