终于搞定了,之前弄那么两天配置,都不成功.

需要软件:

ctags

taglist

1,ctags.

  1)说明:

    这个我就不演示了,我的RedHat5.5本身就有ctags.

  2)验证ctags是否已经安装:

    在终端上输入

ctags --version

后,会出现如下所示信息(表示安装过):

Exuberant Ctags 5.6, Copyright (C) 1996-2004 Darren Hiebert
Compiled: Jul 17 2006, 11:39:49
Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net
Optional compiled features: +wildcards, +regex

2,taglist

  1)下载:

    http://sourceforge.net/projects/vim-taglist/files/ 上搜搜,我的文件名为 taglist_46.zip.

  2)新建目录,存放taglist:

    在个人根目录($HOME)下运行:

mkdir ~/.vim

  2)解压下载的 taglist_46.zip 文件(假设当前也在 个人根目录下):    

unzip taglist_46.zip

    此时,目录中多处了两个目录 "doc" 和 "plugin",将两个目录移动至 ~/.vim目录下:

mv doc/ plugin/ .vim/

  3)安装taglist:

    在终端输入 vi(m)打开 vim,在命令模式下输入:

helptags ~/.vim/doc

  4)关联ctags和taglist:

    首先,检查一下 ctags的安装目录:

which ctags

    会显示: /usr/bin/ctags

    知道ctags的安装目录后,在终端输入:

vim .vim/plugin/taglist.vim

    找到 if !exists('loaded_taglist') 这行(其实在if !exists('s:cpo_save')行的上面也是可以,我第一次就是这样,看错了,也正常的原因可以猜到),在改行上面输入 let Tlist_Ctags_Cmd="/usr/bin/ctags"

 

   let Tlist_Ctags_Cmd="/usr/bin/ctags"
if !exists('loaded_taglist')
" First time loading the taglist plugin
71 "
72 " To speed up the loading of Vim, the taglist plugin uses autoload
73 " mechanism to load the taglist functions.
74 " Only define the configuration variables, user commands and some

    到此,已经安装完毕.

3.使用

  转到要分析源码的目录,运行:

ctags -R

  后,会在该目录下多一个tags的文件.

  打开要分析的文件(如 vi inout.c),进入 vim;在命令模式用 TlistToggle 命令控制函数列表的开关.按住ctrl键,并且按两下W,即可在正常编辑区域和tags区域中切换。在tags区域中,把光标移动到变量、函数名称上,然后按下enter键,就会自动在正常编辑区域中定位到指定内容。

  函数列表区显示的只是 inout.c 中的函数情况,在该文件中使用的在其他代码文件中的函数定义并没有显示出来。可以将光标停留的要查看的函数上,然后按“Ctrl+]”即可查看该函数的定义。查看完该函数的定义,按“Ctrl+O”可以跳回原文件。

  具体的命令上网搜一下吧,这里也没有必要一个个列出.

  ref:

    1,http://www.cnblogs.com/shenlian/archive/2011/06/14/2080655.html

    2,<Linux编程技术详解(杜华)>

Vim+Taglist+Ctags(源码阅读).的更多相关文章

  1. 内核源码阅读vim+cscope+ctags+taglist

    杜斌博客:http://blog.db89.org/kernel-source-read-vim-cscope-ctags-taglist/ 武特博客:http://edsionte.com/tech ...

  2. [转]Linux下阅读源代码:(g)vim+Taglist+ctags

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

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

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

  4. ubuntu下linux内核源码阅读工具和调试方法总结

    http://blog.chinaunix.net/uid-20940095-id-66148.html 一 linux内核源码阅读工具 windows下当然首选source insight, 但是l ...

  5. CI框架源码阅读笔记1 - 环境准备、基本术语和框架流程

    最开始使用CI框架的时候,就打算写一个CI源码阅读的笔记系列,可惜虎头蛇尾,一直没有行动.最近项目少,总算是有了一些时间去写一些东西.于是准备将之前的一些笔记和经验记录下来,一方面权作备忘,另一方面时 ...

  6. 【原】FMDB源码阅读(三)

    [原]FMDB源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 FMDB比较优秀的地方就在于对多线程的处理.所以这一篇主要是研究FMDB的多线程处理的实现.而 ...

  7. 【原】FMDB源码阅读(二)

    [原]FMDB源码阅读(二) 本文转载请注明出处 -- polobymulberry-博客园 1. 前言 上一篇只是简单地过了一下FMDB一个简单例子的基本流程,并没有涉及到FMDB的所有方方面面,比 ...

  8. 【原】FMDB源码阅读(一)

    [原]FMDB源码阅读(一) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 说实话,之前的SDWebImage和AFNetworking这两个组件我还是使用过的,但是对于 ...

  9. 【原】AFNetworking源码阅读(六)

    [原]AFNetworking源码阅读(六) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这一篇的想讲的,一个就是分析一下AFSecurityPolicy文件,看看AF ...

随机推荐

  1. CSS3圆角详解

    一.CSS3圆角的优点 传统的圆角生成方案,必须使用多张图片作为背景图案.CSS3的出现,使得我们再也不必浪费时间去制作这些图片了,而且还有其他多个优点: * 减少维护的工作量.图片文件的生成.更新. ...

  2. tomcat正常启动,但IP不能访问web。ping IP地址,一直超时。 用ipconfig命令修复TCP/IP的配置信息

    今天遇到一个好奇葩的问题  好吧是昨天遇到的一直没找到解决办法(`へ´) tomcat正常启动,但是通过IP不能访问web 用IP地址就是不行  (:′⌒`)  打不开 localhost就可以    ...

  3. SpringMVC入门2-注解开发

    Spring MVC 注解开发 <context:component-scan base-package="com.controls" /> Springmvc的扫描器 ...

  4. USB方向

    Because the host is always the bus master, it is easy to remember USB direction: OUT means from the ...

  5. GIve Me A Welcome Hug!

    类似于初来乍到,和大家打个招呼,并矫情的希望路人也能回赠我一个welcome hug. 到了这种园子那一定是做CS相关的了,一直以为如果能够坚持写技术博客,那一定会对自己的内力有十足的提升.借用一位前 ...

  6. Eclipse里的智能提示

    Eclipse 3.1里的智能提示功能对于写JAVA程序又不记得类名和函数的人来说是一个很好的助手工具,但是Eclipse里的智能提示的快捷键是Ctrl+Space,在中文Windows操作系统中它确 ...

  7. POJ1088 滑雪(记忆化搜索)

    题目链接. 分析: 状态转移方程 d[i][j] = max(d[i-1][j], d[i+1][j], d[i][j-1], d[i][j+1]). #include <iostream> ...

  8. HDOJ(HDU) 2097 Sky数(进制)

    Problem Description Sky从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992,这个数,它的十进制数表示,其四位数字之和为2+9+9+2=2 ...

  9. HDOJ(HDU) 1877 又一版 A+B(进制、、)

    Problem Description 输入两个不超过整型定义的非负10进制整数A和B(<=231-1),输出A+B的m (1 < m <10)进制数. Input 输入格式:测试输 ...

  10. android判断应用是否有某个权限

    1) 判断应用是否具有某个权限 PackageManager pm = getPackageManager(); boolean permission = (PackageManager.PERMIS ...