vim利用cscope查看php源代码(cscope: no source files found)

本网站用的阿里云ECS,推荐大家用。自己搞个学习研究也不错

最近打算配置好vim来阅读源代码。已经配置好了taglist,tags等。
但是发现ctags不能查看函数的被调用的地方,于是打算弄下cscope
brew install cscope 发现以前就安装过。
于是直接进入到源码目录下cscope -b
结果报错了 cscope: no source files found
百度无果,查看vim php cscope找到了解决办法。
默认情况下cscope值会在当前目录下针对c、iex和yacc(扩展名分别为.c、.h、.I、.y)程序文件进行解析(如果指定了-R参数则包含其自身的子目录)。
正确的姿势是:

手动生成cscope.files

find /your/absolute/path -name "*.php" >cscope.files

然后生成cscope.out

cscope -b

配置vimrc

set cscopequickfix=s-,c-,d-,i-,t-,e- 

在vim命令模式下加载.out文件

cs add cscope.out

使用

cscope命令说明

:cs find s function_name  查找C语言符号,即查找函数名、宏、枚举值等出现的地方

:cs find g function_name 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能 

:cs find d function_name  查找本函数调用的函数

:cs find c function_name 查找调用本函数的函数   这个也比较有用处

:cs find t function_name   查找指定的字符串

:cs find e function_name  查找egrep模式,相当于egrep功能,但查找速度快多了

:cs find f function_name   查找并打开文件,类似vim的find功能

:cs find i function_name   查找包含本文件的文件

cscope定义快捷键

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("<cfile>")<CR><CR>
nmap <C-_>i :cs find i ^<C-R>=expand("<cfile>")<CR>$<CR>
nmap <C-_>d :cs find d <C-R>=expand("<cword>")<CR><CR>

使用

1. 在函数处 按键 ctrl+/ s,自动跳转到第一个调用处,如果不满意,键入:cw 
会在quickfix窗口展示整个列表。移过去回车就可以跳到你想要得地方。

2. 在变量处 按键 ctrl+/ c,自动跳转到第一个调用处,如果不满意,键入:cw 
会在quickfix窗口展示整个列表。移过去回车就可以跳到你想要得地方。

未经允许不得转载:演道网 » vim利用cscope查看php源代码(cscope: no source files found)

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册