Vim+Taglist+Ctags(源码阅读).
终于搞定了,之前弄那么两天配置,都不成功.
需要软件:
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(源码阅读).的更多相关文章
- 内核源码阅读vim+cscope+ctags+taglist
杜斌博客:http://blog.db89.org/kernel-source-read-vim-cscope-ctags-taglist/ 武特博客:http://edsionte.com/tech ...
- [转]Linux下阅读源代码:(g)vim+Taglist+ctags
Linux下阅读源代码的方法很多,聪明人从标题应该就可以知道,需要(g)vim+Taglist+ctags.3者配合,真是珠联璧合,功力无限啊! vim/gvim什么是vim/gvim,如果看官连 ...
- 【linux】vim编辑器vim+taglist+ctags的配置
很多linux软件开发实际上并不实在X window的情况下进行的,这时我们不可能启动基于X window的图形化窗口,在这一情况下我们所能使用的主要的编辑器是vim和emacs.(ps:emacs和 ...
- ubuntu下linux内核源码阅读工具和调试方法总结
http://blog.chinaunix.net/uid-20940095-id-66148.html 一 linux内核源码阅读工具 windows下当然首选source insight, 但是l ...
- CI框架源码阅读笔记1 - 环境准备、基本术语和框架流程
最开始使用CI框架的时候,就打算写一个CI源码阅读的笔记系列,可惜虎头蛇尾,一直没有行动.最近项目少,总算是有了一些时间去写一些东西.于是准备将之前的一些笔记和经验记录下来,一方面权作备忘,另一方面时 ...
- 【原】FMDB源码阅读(三)
[原]FMDB源码阅读(三) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 FMDB比较优秀的地方就在于对多线程的处理.所以这一篇主要是研究FMDB的多线程处理的实现.而 ...
- 【原】FMDB源码阅读(二)
[原]FMDB源码阅读(二) 本文转载请注明出处 -- polobymulberry-博客园 1. 前言 上一篇只是简单地过了一下FMDB一个简单例子的基本流程,并没有涉及到FMDB的所有方方面面,比 ...
- 【原】FMDB源码阅读(一)
[原]FMDB源码阅读(一) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 说实话,之前的SDWebImage和AFNetworking这两个组件我还是使用过的,但是对于 ...
- 【原】AFNetworking源码阅读(六)
[原]AFNetworking源码阅读(六) 本文转载请注明出处 —— polobymulberry-博客园 1. 前言 这一篇的想讲的,一个就是分析一下AFSecurityPolicy文件,看看AF ...
随机推荐
- JavaScript 类型判断的那些事
先准备几个变量 var a = "abcde."; var b = 222; var c= [1,2,3]; // 或者 new Array() var d = new Date( ...
- MVC4 教程
http://blog.csdn.net/huangjihua0402/article/details/8507055 http://www.cnblogs.com/lc-chenlong/p/324 ...
- hdu 1051Wooden Sticks
#include<cstdio> #include<cstring> #include<algorithm> #define maxn 10000 using na ...
- BZOJ 2434 阿狸的打字机
http://www.lydsy.com/JudgeOnline/problem.php?id=2434 思路:建立fail树,并找出dfs序,那剩下要做的就是每次找到一个串的位置,然后询问它的区间里 ...
- ISO14443协议中,卡片对RATS,PPS,IBLOCK的处理约定
这几天总是看到有人因为这几条规则没处理好,结果检测时通不过,其实看看最新版的ISO14443协议就明白了. 协议中明确要求几条: 1.在激活状态后,如果收到一个无错的RATS命令后,卡片返回atr,此 ...
- ehci符合USB2.0,uhci,ohci,
uhci ohci ehci他们都是主机控制器的规格,OHCI主要为非PC系统上以及带有SiShe ALi芯片组的 PC主板上的USB芯片,UHCI大多为Intel和Via主板上的USB控制器 ...
- COJN 0585 800604鸡蛋的硬度
800604鸡蛋的硬度 难度级别:B: 运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 最近XX公司举办了一个奇怪的比赛:鸡蛋硬度之王争霸赛.参 ...
- COJ 0985 WZJ的数据结构(负十五)(限定区域不同数)
传送门:http://oj.cnuschool.org.cn/oj/home/addSolution.htm?problemID=955 试题描述: CHX有一个问题想问问大家.给你一个长度为N的数列 ...
- QR分解
从矩阵分解的角度来看,LU和Cholesky分解目标在于将矩阵转化为三角矩阵的乘积,所以在LAPACK种对应的名称是trf(Triangular Factorization).QR分解的目的在 ...
- cf701C They Are Everywhere
Sergei B., the young coach of Pokemons, has found the big house which consists of n flats ordered in ...