您的位置:首页 > 运维架构 > Linux

linux下代码阅读 -- 配置vim+ctags+taglist+cscope

2012-03-09 23:27 731 查看
http://hi.baidu.com/wstone_h/blog/item/5916a4a910206dfb1e17a207.html

参考文献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: <dhiebert@users.sourceforge.net>, 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 <silent> <F8> :TlistToggle<CR>

这样默认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 <silent> <F8> :TlistToggle<CR>

"使用右侧tag窗口

"let Tlist_Use_Right_Window=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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: