[转贴]linux下代码阅读 -- 配置vim+ctags+taglist+cscope

 

本帖转自: http://hi.baidu.com/wstone_h/blog/item/5916a4a910206dfb1e17a207.html
009年01月14日 星期三 13:07
参考文献1:http://www.lupaworld.com/home/space-131820-do-blog-id-118756.html
参考文献2:http://liupingjing.blog.ubuntu.org.cn/?p=114
藏文地址1:http://hi.baidu.com/wstone_h/blog/item/ed68bcb5221eb4c937d3ca35.html
藏文地址2:http://hi.baidu.com/wstone_h/blog/item/cb4c72ca9c210681c8176821.html

最近要分析一些代码,在win下有Souce Insight进行源码阅读,在linux下工具就显的比较多,如:ctags、cscope、global、lxr、KScope、sourcenav、calltree、CodeViz、ncc、gprof等,还有一些IDE。KScope是cscope的图形前端,比较不错。不过本人喜欢简洁的,所以搭建 vim+ctags+taglist+cscope(我的环境是 ubuntu8.04)

1、安装ctags
ctags用于查找符号的定义,vim默认就是支持ctags产生的tag数据库的。ubuntu自带了轻量型的vim,exuberant-ctags是ctags的最新版本,源里有exuberant-ctags,运行以下安装:
sudo apt-get install exuberant-ctags 
输入:ctags --version
Exuberant Ctags 5.7, Copyright (C) 1996-2007 Darren Hiebert
Compiled: Mar 12 2008, 08:23:02
Addresses: , http://ctags.sourceforge.net
Optional compiled features: +wildcards, +regex
显示以上信息,安装成功
建立数据库命令:ctags -R
在vim编辑器中浏览:
    :ta x 跳转到符号x的定义处,如果有多个符号,直接跳转到第一处
    :ts x 列出符号x的定义
    :tj x 可以看做上面两个命令的合并,如果只找到一个符号定义,那么直接跳转到符号定义处,如果有多个,则让用户自行选择。
    Ctrl+] 跳转到当前光标下符号的定义处,和ta类似。
    Ctrl+t 跳转到上一个符号定义处,和上面的配合基本上就能自由跳转了。
    另外两个:tn, :tp是在符号的多个定义之间跳转

2、安装taglist
taglist配合ctags使用,本身是vim的插件,在vim官网有下载,最新是taglist_45.zip
下载地址:http://www.vim.org/scripts/script.php?script_id=273
下载后解压,检查是否有~/.vim目录,如果没有就建立一个:mkdir ~/.vim
把taglist_45.zip解压出来的2个文件doc和plugin拷贝到~/.vim目录下
配置.vimrc文件
输入:vim ~/.vimrc,打开vimrc文件,添加以下的代码(用于指定快捷键F8):
nnoremap :TlistToggle
这样默认tag窗口是在左边,如果想显示在右边可以加入以下:
let Tlist_Use_Right_Window=1

3、安装cscope
cscope用于快速查看函数、变量、宏等的定义和调用。ubuntu的源中有cscope,运行以下安装:
sudo apt-get install cscope
接着下载cscope_map.vim文件:
wget http://cscope.sourceforge.net/cscope_maps.vim 
,把内容添加到.vimrc文件中或者将cscope_map.vim文件放在~/.vim/plugin目录中
建立数据库的命令:cscope

以下是我的.vimrc文件的内容
附录:

 

"开关tag窗口
nnoremap :TlistToggle

"使用右侧taglist窗口
let Tlist_Use_Right_Window = 1

 

"taglist自动打开

let Tlist_Auto_Open = 1

"一般设置.
"set nocompatible "VIM而不是VI
set history=50 "历史记录50条
set fenc=utf-8 "设置默认语言为8位unicode
"man Q gq "屏蔽Q, 以免进入Ex模式
filetype on "打开文件类型检测

"
""颜色设置.
colorscheme delek "主题
"colorscheme evening "主题
syntax on "语法高亮
"set hls " 查找文本高亮

"界面设置.
set ruler "显示当前位置
set number "显示行号
""set nonumber "不显示行号

"格式设置.
set autoindent "自动缩进
set smartindent "智能缩进
set cindent "C缩进
set tabstop=4 "硬TAB
set softtabstop=4 "软TAB
set shiftwidth=4 "缩进空格数
set expandtab "空格替换TAB
"set smarttab "智能TAB
"
set showmatch "显示匹配
"set matchtime=5 "1/10秒延迟
"set hlsearch "高亮搜索
"set incsearch "搜索中匹配
set tags=tags; "ctags
set autochdir "ctags

你可能感兴趣的:([转贴]linux下代码阅读 -- 配置vim+ctags+taglist+cscope)