转载请注明来自“柳大的CSDN博客”:http://blog.csdn.net/poechant
经过《Vim实战手册(8)Vimide——打造你自己的IDE(A)》和《Vim实战手册(9)Vimide——打造你自己的IDE(B)》两篇博文,你可能还不满足。因为当我们用Visual Studio、Eclipse、Xcode等编辑器时,有一些非常强大的功能,比如:
(1)查看某一函数都在哪些函数中被调用过;
(2)查看某一函数都调用了哪些函数;
(3)查看某一文件被哪些文件包含;
(4)查看某一变量都在哪里被引用过;
……
1、Linux安装Cscope(Mac用户可以直接跳过)
首先要下载地址:http://sourceforge.net/projects/cscope/files/
如果你是在Linux平台上安装Cscope,那么可以直接:
1./configure
2make
3sudo make install
2、Mac安装Cscope(Linux用户不需要关注)
如果你使用的是Mac平台,需要先编辑src/constants.h,找到这段代码:
1#if (BSD || V9) && !__NetBSD__ && !__FreeBSD__
修改为:
1#if (BSD || V9) && !__NetBSD__ && !__FreeBSD__ && !__APPLE__
然后再编译:
1./configure
2make
3sudo make install
3、在VimRC中配置Cscope
1 setcscopequickfix=s-,c-,d-,i-,t-,e-
4、生成cscope文件
在你的工程根目录下,输入以下命令:
1cscope-bqR
则会自动生成如下三个文件:
5、在Vim中导入Cscope文件
cscope文件都已经被生成了,但是还没有与你的工程关联起来。这时候你可以进入Vim,输入命令:
其中cs表示scope,add是将scope源文件导入到工程中,第一个参数是scope的out文件,第二个参数是工程的根目录。如果你经常编辑该工程,你可以将这个命令写入到VimRC。
6、体验Cscope
尝试查询conn_set_state函数被调用过多少次以及分别在哪里调用。输入命令:
:cs find c conn_set_state
结果为:
如果结果很多,你可以使用命令“cw”来打开QuickFix窗口,来切换搜索结果。
7、Cscope的快捷键
(1)索指定符号
cs find s <symbol>
(2)搜索定义
cs find g <var_name|func_name>
(3)搜索函数所调用的函数
cs find d <functions_invoked>
(4)搜索调用此函数的函数
cs find c <functions_invoking>
(5)搜索指定字符串
cs find t <text>
(6)搜索egrip指定的模式
cs find e <egrip>
(7)搜索文件
cs find f <filename>
(8)搜索包含本文件的文件
cs find i <including_files>
8、映射Cscope快捷键
你可以自定义Cscope这些快捷键,方法可以类似参照我们在使用WinManager时自定义的“wm”。
未完待续,欢迎您继续关注接下来的博文 : )
转载请注明来自“柳大的CSDN博客”:http://blog.csdn.net/poechant
-