您的位置:首页 > 运维架构

windows下使用cscope vim对函数进行定位

2013-06-10 14:54 274 查看
1,先下载windows下编译好的 cscope.exe

  到

  http://sourceforge.net/projects/mslk/files/Cscope/

  下载 最新的 cscope-15.7.zip 然后解压 把解压后的三个文件 拷贝到你的 gvim.exe 所在的目录

  比如我的是 D:\Vim\vim73

  2安装

-----------------------------------

安装很简单,只要将cscope的可执行文件放到PATH环境变量包含的目录中即可。

(1) 推荐Windows用户将上面下载到的cscope.exe与gvim.exe放在同一个目录下,如D:\Program Files\Vim\vim72下。

(2) "我的电脑" --> "属性" --> "高级" --> "环境变量" --> "系统变量"

PATH: D:\Program Files\Vim\vim72 (给环境变量PATH添加cscope.exe所在目录)

注销/重启后PATH即可生效。

(3) "开始" --> "运行" --> "cmd"

C:\Documents and Settings\Administrator>cscope -V

cscope: version 15.6. Compiled by MSLK(mslk.sa@gmail.com)

如果能看到cscope的版本好则说明安装成功。

  运行cmd cd 到你的php项目文件夹 比如我的是 D:\PHPnow\htdocs\drupal

  运行 dir /s /b *.php *.inc *.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

  "搜索函数定义的位置

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

1. 下载并安装Cscope for Windows版本,最新的二进制编译版本可以从这里下载: http://sourceforge.net/project/showfiles.php?group_id=196604&package_id=232374;下载、解压后将cscope.exe放到与vim.exe同一目录下即可。
2. 下载并安装Vim for windows版本,最新版本可以从这里下载:ftp://ftp.vim.org/pub/vim/pc/gvim73_46.exe;

说明: (1)为了使用CScope的所有功能,最好下载6.x以后的版本;

(2)如果你所使用的Vim的版本没有使用“-enable-cscope”选项编译,那么你需要"-enable_cscope"选项重新配置和编译Vim源代码;

(3)查看所用的Vim的版本以及编译选项信息,可以在Vim中输入命令“:version”后查看输出结果,下面是笔者在自己的机器上使用":version"

命令得到的结果的部分显示(注意图中深颜色的地方):



3. 下载cscope_map.vim,并将其放到Vim的plugin目录下(c:\program files\vim\vim72\plugin)这样,Vim在启动的时候就能读取其中的内容。这个键盘映射文件的作用是使我们在Vim环境中能使用Cscope的快捷键,比如:ctrl-\ s来查询某一符号在整个功能文件中的引用情况。

这个文件可以从这里下载:http://cscope.sourceforge.net/cscope_maps.vim.

4. 在一个包含C/C++文件的目录下,输入命令 cscope -R -b(-R告诉Cscope分析当前目录以及当前目录下的所有子目录;-b告诉cscope只产生符号文件)将在当前目录下生成cscope.out文件,这个文件就是Vim要使用的符号文件。

5. 打开一个源文件,并将光标停留在第80行的SetupDriverName上



6. 输入命令"ctrl-\ s(CTRL-blankslash, then 's')"或者“:cs find s SetupDriverName”回车,将的到如下的结果:



7. 在Choice number(<Enter> cancels):后输入“1”将跳转到exe/testapp.c第38行中SetupDriverName处(以此类推输入"2"和“3”将分别跳转到exe/install.c第485行和exe/testapp.c的第80行):



8. 输入命令"ctrl-T",将跳转回第5步所示的第80行处。

总结:本文只是简单的示例了一下在Windows环境下使用Vim和CSCOPE搭建简单的C/C++源代码浏览器的步骤;Vim和Cscope都是很强大的编程工具,其中还有很多简单、易用的功能值得我们去探索、学习...

最后介绍几个笔者认为是不错的与Vim和Cscope相关的网站

1. http://en.wikipedia.org/wiki/Cscope (对Cscope介绍的比较详细的网站)

2. www.vim.org (Vim的官方网站,上面有很全面的文档和学习资料)

3. http://cscope.sourceforge.net/ (Cscope的官方网站)

4. http://cscope.sourceforge.net/cscope_vim_tutorial.html (专门介绍怎样在Vim下使用Cscope的文档)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐