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

需要软件:

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. WinPcap编程(前言&&学习)

    计算机网络课设要求用WinPcap写对ARP包的接收与发送. 所以学了一下WinPcap的内容. 参考的博客: http://blog.csdn.net/htttw/article/details/7 ...

  2. [转]为什么移动Web 应用程序很慢

    原文出处: Herb Sutter   译文出处: tangzhnju 我写过不少文章来讨论为什么移动Web应用程序很慢,这也引起了不少的讨论.但是不幸的是,这些讨论没有像我喜欢的那样的基于事实. 所 ...

  3. SPSS相关和回归分析

    1.语文和数学成绩都受IQ的影响而且相互影响,则分析语文和数学的关系时需要偏相关分析.2.距离分析用于探索相似性,比如给了某年的12个月三个城市的气温数据,然后分析,会得到一个相似性矩阵,这是个对称阵 ...

  4. How to solve “sudo: /etc/sudoers.d is world writable”

    Run pkexec chmod 0440 /etc/sudoers

  5. FLASK初步实践

    感觉经过DJANGO,CI,RAILS之类的WEB框架之后,FLASK的思路就比较顺畅了... FLASKR.PY import sqlite3 from flask import Flask, re ...

  6. new Thread的弊端(转)

    new Thread的弊端如下: a. 每次new Thread新建对象性能差.b. 线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统资源导致死机或oom.c. 缺乏更多功能,如 ...

  7. POJ3041 Asteroids(二分图最大匹配)

    题目链接. 分析: 暂略. AC代码: #include <iostream> #include <cstdio> #include <cstring> #incl ...

  8. POJ 2391 容牛问题

    题目大意:给定一个无向图,点i处有Ai头牛,点i处的牛棚能容纳Bi头牛,求一个最短时间T使得在T时间内所有的牛都能进到某一牛棚里去.(1 <= N <= 200, 1 <= M &l ...

  9. jps(JVM Process Status)

    功能   列出正在运行的虚拟机进程,并显示虚拟机执行主类(Main Class,main()函数所在类)的名称,以及这些进程的本地虚拟机的唯一ID(LVMID,Local Virtual Machin ...

  10. js编写验证码

    这是一个简单的js编写的验证码,自己已经亲自验证,没有问题了 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN ...