`
quqiufeng
  • 浏览: 11622 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

vim中 使用 cscope 实现 php函数定位 linux windows都可以实现

阅读更多

在vim中我们查看源代码时,有时候需要到函数定义的地方去看一下函数的具体代码是怎么样的。这篇文章就是解决这个问题。


1,先下载 windows下编译好的  cscope.exe    linux 下要安装包  运行 apt-get install  cscope 命令
windows环境 到http://sourceforge.net/projects/mslk/files/Cscope/
下载  最新的  cscope-15.7.zip 然后解压  把解压后的三个文件 拷贝到你的  gvim.exe 所在的目录
比如我的是  D:\Vim\vim73

2,生成必要文件
运行 cmd   cd 到你的 php项目文件夹 比如我的是  D:\PHPnow\htdocs\drupal
运行  dir /s /b *.php *.inc *.module > cscope.files   

linux 下面是
find . -name "*.php"  -o -name '*.inc' -o -name '*.module' > cscope.files

这个命令会生成一个  cscope.files 文件
你可以打开看一下  就是一个满足上面那个搜索命令的文件列表

解释一下,  drupal的函数是定义在 .php .inc .module  这三种后缀名文件里面的 所以我要搜索这三种文件   
一般项目只需要  搜索.php 就够了
既使用 dir /s /b *.php  > cscope.files   *. 是通配符  不解释

3 ,接着运行  cscope -b
会在文件夹下面生成一个 cscope.out 文件



4,修改 vim 配置文件  _vimrc
加入  

"cscope定位函数就靠这个文件了  现在载入他  也可以在vim中用命令载入  运行:cs help 查看相关介绍
cs a D:\PHPnow\htdocs\drupal\cscope.out

我一般是不在 _vimrc 里面设置  
而是在需要的时候在vim运行 :cs add d:\phpnow\htdocs\drupal\cscope.out 命令

然后就可以查找函数定位了

如果提示 某文件找不到  请运行在vim里面  运行 :pwd  查看vim当前所在的目录  目录不对的 用 :cd 命令 切换到正确目录


下载 http://cscope.sourceforge.net/cscope_maps.vim
放到 $Vim\vimfiles\plugin 目录下


"搜索函数定义的位置
map <C-g> :cs find g <C-R>=expand("<cword>")<CR>

保存之后 退出vim 重新打开vim

当需要查看函数的定义位置的时候,把光标放在 函数名上 按 ctrl + g  vim 底部出现
:cs find g 函数名
然后再按 回车键  就可以到函数定义的位置了   返回上一个位置  按 ctrl + o

另外:不使用快捷键的查询
vim command下查询

: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   查找包含本文件的文件



我的博客  http://hi.baidu.com/quqiufeng/blog/category/Vim  
我的手工艺小站  http://www.beauty-mood.com/

分享到:
评论

相关推荐

    打造linux下的Source Insight

    在Linux环境中,尽管Source Insight是一款在Windows平台下广泛使用的强大代码浏览工具,但其缺乏Linux版本。为了在Linux系统上获得类似的代码导航体验,我们可以利用vim编辑器配合ctags、taglist和Cscope等工具来...

    jonsen-cscope 2

    很多Linux程序员都习惯使用vi/vim等来阅读代码,然而在阅读一段代码时,如何快捷的找到代码中某些函数/变量的定义会非常方便理解代码。许多图形化的工具都有这一功能。vim/vi等也有很多相关的字符界面工具,这些...

    vim插件和配置 for Linux 自动补全 IDE

    就可以在vim中使用快捷键F12来随时生成当前目录下的tags,这样后续配好omni自动补全以后,自己工程下定义的类中的public成员,也可以通过. :: -&gt;来自动补全了。全局定义的查找。局部的符号不会生成tags,这个要使用...

    Linux操作系统开发环境

    若想查看标准库中的定义,例如`printf`函数,可以在工作目录下创建指向标准库源代码的链接,然后运行`ctags -R *`生成标签,最后用`vi -t printf`打开VIM并跳转到定义。 在Linux操作系统开发环境中,这些工具的组合...

    C C++ Linux程序员必须了解的10个工具及下载网址

    它们可以帮助开发者找到程序中的内存使用不当之处,提高代码质量。 ### 10. GUI框架:Qt - **资源链接**: - [Qt入门教程](http://zetcode.com/gui/qt4/introduction/) - [数字狂热者Qt教程]...

Global site tag (gtag.js) - Google Analytics