Linux 下源代码阅读工具 —— vim + TagList + CTags

原创 2016年05月30日 12:35:41

为什么不采用 Windows 下较为著名的源代码阅读软件 SourceInsight,

  • 其一,其在 Linux 下的安装较为繁琐;
  • 其二,切换代码时背景色的变化会为人的眼部产生极为不舒服的感觉;
  • 其三,Linux 下自有自己的一套实用工具:vim,TagList,Ctags
  • 其四,很多 Linux 的软件开发实际在不使用 X Window 的情况下进行的,这时不可能启动基于 X Window 的图形化代码阅读软件。

1. Taglist 与 Ctags

1.1 Taglist 和 Ctags 介绍

Taglist 是一个 Vim 的源代码浏览插件,提供了在 Vim 中查看文件中包含的函数列表和类中的方法类表的功能(类似于大纲显示)。Taglist 功能的实现要依赖于 Ctags。Ctags 是一个用于产生代码索引(Index)文件的插件,其产生大索引文件用于帮助文本编辑工具或其他工具快速、准确定位符号在代码文件中的位置。

1.2 Ctags 的安装

http://ctags.sourceforge.net/ 上下载最新的Ctags,以 ctags-5.8.tar.gz 为例进行说明:

$ tar zxvf ctags-5.8.tar.gz 
$ cd ctags-5.8/
$ ./configure
$ make
$ sudo ./mkinstalldirs 
$ sudo make install

至此,CTags 的安装已完成,这时可以输入 ctags 检验是否成功安装了该软件:

$ ctags
ctags: No files specified. Try "ctags --help".
            # 出现如上提示信息,表示安装成功

1.3 Taglist 的安装

http://sourceforge.net/projects/vim-taglist/files/上,以 taglist_45.zip 为例进行演示,首先,在个人目录(~)下创建.vim目录,将taglist_45.zip中的内容解压缩到该目录下:

$ cd ~
$ sudo mkdir .vim
$ sudo mkdir .vim/plugin
$ cd .vim
$ sudo unzip ../taglist_45.zip
$ ls
doc  plugin

进入Vim,在命令模式下输入“helptags ~/.vim/doc”,即完成了Taglist的安装。

此时,Ctags和Taglist还没关联起来。为此,需要修改~/.vim/plugin/taglist.vim文件,找到if !exists(‘loaded_taglist’) 在其前边添加上:

let Tlist_Ctags_Cmd="/usr/local/bin/ctags"

2. 使用 Vim + Taglist + CTags 阅读源码

  • (1)进入源码所在的目录

  • (2)使用ctags -R对该目录和所有子目录中的源代码建立符号数据库

  • (3)使用ls命令确认成功生成了名为tags的符号数据库

  • (4)vim 某源码文件,进入源码阅读环境

  • (5)在命令行方式下输入::TlistToggle命令来打开索引:

    • 按住ctrl键,并且按两下W,即可在正常编辑区域和tags区域中切换。
    • 在tags区域中,把光标移动到变量、函数名称上,然后按下enter键,就会自动在正常编辑区域中定位到指定内容。
    • 函数列表区显示的只是map_driver.c中的函数情况,在该文件中使用的在其他代码文件中的函数定义并没有显示出来。可以将光标停留的要查看的函数上,
      • 然后按“Ctrl+]”即可查看该函数的定义。
      • 查看完该函数的定义,按“Ctrl+O”可以跳回原文件。
版权声明:本文为博主原创文章,未经博主允许不得转载。

Linux 平台源代码阅读器understand

Windows平台上,source insight是阅读源代码最佳工具之一,然而到了Linux平台上,很难找到与之抗衡的工具,有人说用VIM+Ctags+CScope,不过还是不太爽!找到了一款跨平台...
  • sunjunior
  • sunjunior
  • 2015年05月02日 08:40
  • 1948

linux源代码阅读工具(转载)

http://blog.csdn.net/bruce0532/article/details/7865800 Windows下的源码阅读工具Souce Insight凭 借着其易用性和多种编程语言的...
  • limanjihe
  • limanjihe
  • 2015年11月23日 14:00
  • 683

ubuntu下linux内核源码阅读工具和调试方法总结 (2010-10-31 15:21)

ubuntu下linux内核源码阅读工具和调试方法总结 (2010-10-31 15:21) 分类: linux 源码分析 一 linux内核源码阅读工具 windo...
  • dabbler_zhu
  • dabbler_zhu
  • 2012年09月23日 10:26
  • 2058

linux下阅读源代码的工具

说来真是惭愧呀.一直在用VIM 做开发.却不知道VI 里还有这么好使的工具.以前一直都是用: find -type f -print | xargs grep -i **** 在源代码里查找...
  • nancygreen
  • nancygreen
  • 2010年07月22日 14:03
  • 21458

Linux源代码阅读辅助工具

在阅读Linux的代码时,总是会遇到ssize_t, key_t这类经过define或typedef定义的类型,又想知道他最本质的类型是什么int?long? 在网上没找到相关的东西,就自己随便写了个...
  • u012848726
  • u012848726
  • 2016年07月25日 00:42
  • 259

如何将vim改造成强大的代码阅读器

最近在接触C/C++编程,一般是在公司的远程服务器阅读和编写代码,这就会涉及C/C++的代码阅读器的问题。通过请教和调研,使用比较广泛的方式是在vim上添加插件,增强vim的功能。 经过比较和分析,...
  • u013279509
  • u013279509
  • 2015年12月14日 15:17
  • 3269

用vim阅读代码的最好方法

zz from http://www.linux-ren.org/thread-66415-1-1.html 刚发现了一套阅读代码的好工具,更为欣喜之处是作者北京的,在此...
  • wuwuwuwuwuwuwuwu
  • wuwuwuwuwuwuwuwu
  • 2013年12月10日 22:21
  • 1939

linux在线源码阅读推荐网址

http://lxr.linux.no/ http://fxr.watson.org/
  • u013246898
  • u013246898
  • 2016年10月13日 15:27
  • 4467

linux源代码阅读工具(转载)

导读:   Windows下的源码阅读工具Souce Insight凭 借着其易用性和多种编程语言的支持,无疑是这个领域的“带头大哥”。Linux/UNIX环境下呢?似乎仍然是处于百花齐放,各有千秋的...
  • chief1985
  • chief1985
  • 2008年03月29日 23:34
  • 18213

献给新手,如何阅读Linux源码(转)

常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds本人是这样回答的:你必须使用过Linux。 这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需:  ...
  • hzqnju
  • hzqnju
  • 2013年12月25日 09:38
  • 7465
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux 下源代码阅读工具 —— vim + TagList + CTags
举报原因:
原因补充:

(最多只允许输入30个字)