2008年9月10日星期三

cscope

1. 下载vim7.0
http://download.chinaunix.net/download.php?id=21977&ResourceID=11091

2. 编译vim
1>配置对cscope的支持
./configure --enable-cscope
2>编译
make
make install
vim在/usr/share/vim/vim70/里

3.下载taglist_45.zip
http://vim.sourceforge.net/scripts/script.php?script_id=273
解压后是doc,plugin文件夹,把里面的2个文件taglist.txt,taglist.vim分别复制到/usr/share/vim/vim70/下的doc,plugin文件夹里

4.到要编辑的源码目录,输入命令
cscope -Rbkq
R 表示把所有子目录里的文件也建立索引
b 表示cscope不启动自带的用户界面,而仅仅建立符号数据库
q生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度
k在生成索引文件时,不搜索/usr/include目录
ctags -R

5.下载cscope_maps.vim,也就是cscope快捷键,放到/usr/share/vim/vim70/plugin文件夹
http://cscope.sourceforge.net/cscope_maps.vim

6.开始用了,vim打开文件,如果是vi打开就不认cscope命令
1>直接跳到start_kernel函数定义处
vim -t start_kernel
2>使用cscope命令,cscope find命令简化是cs f
cscope find s ---- 查找C语言符号,即查找函数名、宏、枚举值等出现的地方
cscope find g ---- 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
cscope find d ---- 查找本函数调用的函数
cscope find c ---- 查找调用本函数的函数
cscope find t: ---- 查找指定的字符串
cscopecope find e ---- 查找egrep模式,相当于egrep功能,但查找速度快多了
cscope find f ---- 查找并打开文件,类似vim的find功能
cscope find i ---- 查找包含本文件的文
Ctrl+]将跳到光标所在变量或函数的定义处 Ctrl+T返回
3>cscope命令可用快捷键
cs f s start_kernel用快捷键是让光标处于start_kernel字符串处,按Ctrl+\,再按s,也就是Ctrl+\等于cs f ? start_kernel,最方便的是省了敲符号名。如果想在另一个窗口弹出可使用快捷键Ctrl+@(水平窗口),连续2次按Ctrl+@(垂直窗口)。这个快捷键就是之前下载的cscope_maps.vim定义的,需要换按键就修改这个文件
4>使用taglist办法是在vim里输入TlistToggle,但是我这里就是用不了,提示92: Not an editor command: TlistToggle

没有评论: