cscope
1.cscope -Rkbq 建立索引数据库链接
2.find查找命令
:cs find {querytype} {name}
其中:
{querytype} 即相对应于实际的cscope行接口数字,同时也相对应于nvi命令:
0或者s —— 查找这个C符号
1或者g —— 查找这个定义
2或者d —— 查找被这个函数调用的函数(们)
3或者c —— 查找调用这个函数的函数(们)
4或者t —— 查找这个字符串
6或者e —— 查找这个egrep匹配模式
7或者f —— 查找这个文件
8或者i —— 查找#include这个文件的文件(们)
实例:(#号后为注释)
:cscope find c ftpd_send_resp # 查找所有调用这个函数的函数(们)
3.将以下内容放到你的.vimrc中:
if has("cscope")
set csprg=/usr/local/bin/cscope
set csto=0
set cst
set nocsverb
" add any database in current directory
if filereadable("cscope.out")
cs add cscope.out
" else add database pointed to by environment
elseif $CSCOPE_DB != ""
cs add $CSCOPE_DB
endif
set csverb
endif
通过设置’cscopetag’,我们已经有效的将所有:tag的情况都替换为:cstag。这包括:tag、ctrl+],和”vim -t”。然后,正常的tag命令就会不光在tag文件中查找,也会在cscope数据库中查找。
4.使用cscope的 简单例子
当光标停在函数上时,可以用如下操作达到相应目的:
看到此时光标在ftpd_help这个函数声明上,现在若我们想要看看这个函数是怎么实现的,可以有如下方法:
1)直接按下ctrl+] # 就是按下ctrl键的同时按下’]’键
2)按下ctrl+_g # 按下 ctrl键和下划线(同时按下shift和’-’键)和g
3)输入“:cs find g ftpd_help”后回车
4)输入“:tag ftpd_help” # 假如有安装ctag的话
cscope还有相当多的用法,本文暂阐述至此。