转载自:http://www.cnblogs.com/wz19860913/archive/2011/05/05/2038054.html
sudo apt-get install cscope安装
使用cscope前,必须为代码生成一个cscope数据库。假设当前代码在/usr/src/linux目录下,则运行下列命令。
cd /usr/src/linux
cscope –Rbq
然后会生成3个文件:cscope.in.out,cscope.out,cscope.po.out。
用vim打开代码文件,将刚才生成的cscope文件导入到vim中。
vim init/main.c
:cs add /usr/src/linux/cscope.out /usr/src/linux
也可以将下面语句添加到vim的配置文件.vimrc中。
if fileradable("cscope.out")
cs add csope.out
elseif $CSCOPE_DB != ""
cs add $CSCOPE_DB
endif
Cscope的功能
set cscopequickfix=s-,c-,d-,i-,t-,e-
Cscope的功能通过它的子命令“find”来实现。
cs find c|d|e|g|f|i|s|t name
s:查找C代码符号
g:查找本定义
d:查找本函数调用的函数
c:查找调用本函数的函数
t:查找本字符串
e:查找本egrep模式
f:查找本文件
i:查找包含本文件的文件
可以在.vimrc中添加下面的快捷键,免得每次都要输入一长串命令。
nmap <C-@>s :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap <C-@>g :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap <C-@>c :cs find c <C-R>=expand("<cword>")<CR><CR>
nmap <C-@>t :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap <C-@>e :cs find e <C-R>=expand("<cword>")<CR><CR>
nmap <C-@>f :cs find f <C-R>=expand("<cword>")<CR><CR>
nmap <C-@>i :cs find i ^<C-R>=expand("<cword>")<CR>$<CR>
nmap <C-@>d :cs find d <C-R>=expand("<cword>")<CR><CR>
这是转载的,没有验证 使用时,将光标停留在要查找的对象上,按下<C-@>g,即先按“Ctrl+@”,然后很快再按“g”,将会查找该对象的定义。
, 其中的这句:
nmap <C-@>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR> 在我的vim中无法工作, 但是我改成: nmap <C-@>i :cs find i <C-R>=expand("<cfile>")<CR><CR>
转载于:https://blog.51cto.com/noworry/1114818