最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

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

Linux crifan 2763浏览 0评论

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

参考文献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>

"使用右侧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

[src=http://hi.baidu.com/wstone_h/blog/item/5916a4a910206dfb1e17a207.html]

转载请注明:在路上 » [转]linux下代码阅读 — 配置vim+ctags+taglist+cscope

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 你好,无意中看到你的博文,觉得你对SecureCRT比较熟悉,我最近在用SecureCRT连接虚拟机Suse linux10.1 老实不成功,能否就如如何用SecureCRT 连接虚拟机写一篇博文,谢谢!
    匿名网友15年前 (2009-10-17)回复
84 queries in 0.151 seconds, using 22.14MB memory