参考文献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: <[email protected]>, 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>
"使用右侧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