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

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

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

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

http://www.vim.org/scripts/script.php?script_id=273

里面有很多版本,可以下载目前最新版本:http://www.vim.org/scripts/download_script.php?src_id=7701

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

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

如果在ubuntu下,直接使用 新立得 进行安装即可,不再介绍,是不值得介绍。

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

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

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

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

转至:http://www.linuxdiyf.com/viewarticle.php?id=110944

[转]Linux下阅读源代码:(g)vim+Taglist+ctags的更多相关文章

  1. linux下阅读源代码的工具

    说来真是惭愧呀.一直在用VIM 做开发.却不知道VI 里还有这么好使的工具.以前一直都是用: find -type f -print | xargs grep -i **** 在源代码里查找. 原来L ...

  2. Linux下阅读源代码工具安装

    综合他们多篇博客,做一个自己的总结(从0开始,记录过程) 系统:ubuntu 16.04  vim:7.4.1689 内容来源: https://www.cnblogs.com/wangzhe1635 ...

  3. 【linux】vim编辑器vim+taglist+ctags的配置

    很多linux软件开发实际上并不实在X window的情况下进行的,这时我们不可能启动基于X window的图形化窗口,在这一情况下我们所能使用的主要的编辑器是vim和emacs.(ps:emacs和 ...

  4. 7款Linux下阅读PDF的阅读器。

    5款Linux下阅读PDF的阅读器.1. Mupdf:link 2. Adobe Reader:link 3. Foxit Reader:link 4.Evince:link 5. Okular:li ...

  5. [转]Linux下用gcc/g++生成静态库和动态库(Z)

    Linux下用gcc/g++生成静态库和动态库(Z) 2012-07-24 16:45:10|  分类: linux |  标签:链接库  linux  g++  gcc  |举报|字号 订阅     ...

  6. Linux下阅读MHT文件

    Linux下阅读MHT文件 2016年02月04日 15:11:32 dj0379 阅读数:1769   mht是一种WEB电子邮件档案,用IE选择保存网页类型时可以看到有这一项,其最大优点是所保存的 ...

  7. 打造linux下的source insight——vim插件安装使用总结

    source insight是windows下的优秀编辑器,适合阅读管理代码,主要有以下功能: 查找函数,变量或者宏的定义. 查找函数,变量或者宏的引用位置. 查找函数被调用的位置 查找某个符号在工程 ...

  8. Vim+Taglist+Ctags(源码阅读).

    终于搞定了,之前弄那么两天配置,都不成功. 需要软件: ctags taglist 1,ctags. 1)说明: 这个我就不演示了,我的RedHat5.5本身就有ctags. 2)验证ctags是否已 ...

  9. linux 下通过源代码安装程序 ./configure 解释

    大家 都知道在 linux 通过源代码 安装程序 1. 下载源码 2.解压缩 3. 执行 ./configure 4. make 5 make install make 命令 是对 makefile ...

随机推荐

  1. ssm整合-错误3

    1.警告: Unknown version string [3.1]. Default version will be used. 因为Tomcat版本为7,支持3.1版本的为Tomcat 8: 2. ...

  2. MySQL超大表如何提高count速度

    经常用到count统计记录数,表又超级大,这时候sql执行很慢,就是走索引,也是很慢的,怎么办呢? 1.这个时候我们就要想为什么这么慢:根本原因是访问的数据量太大,就算只计算记录数也是很慢的. 2.如 ...

  3. 描述linux目录结构以及目录结构命名规定

    FHS全称(Filesystem Hierarchy Standard),中文意思是目录层次标准,是linux的目录规范标准. 详情点击查看 FHS定义了两层规范: 第一层:“/”目录下的各个目录应该 ...

  4. LVS基于DR模式搭建负载均衡群集

    LVS -DR模式集群架构原理图

  5. linux文件共享之samba,nfs的搭建

    Samba server简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局 ...

  6. MySQL字段属性介绍

    引言 这次Qi号分享MySQL字段属性简介.下面资料是Qi号搜集大量资料与个人理解的整理. MySQL提供了一组可以赋给表中各个列的数据类型,每个类型都强制数据满足为该数据类型预先确定的一组规则,例如 ...

  7. Sublime package control错误:There are no packages available for installation

    查了很多资料都没有解决. 改host---无效 复制一个文件的什么的,我看到版本比我的旧,就没有用 终于最后一个解决了.最终解决方案 解决: 更新下Package Control就好了: prefer ...

  8. C细节错误

    2018.11.20 (1)有关优先级的细节 while (c = getchar() && c == '\n') { printf("c = %d\n", c); ...

  9. Java实现Avl树

    Avl树即左右子树的深度[高度]相差不可超过1,所以在插入key的时候,就会出现需要旋转[更改根节点]的操作 下面是源代码: /* the define of avltree's node */ cl ...

  10. B-树 动机与结构

    Ps.我们遵循从感性到理性的认知顺序来逐步探索B-树的奥秘,之前经常说的value这里用key(关键码)指代,因为可能存的是字符串,说是value就不合适了. (多图预警!!!建议在WI-FI下观看) ...