各位看官们,大家好,欢迎大家一起来听大型章回体科技小说 :Vim。上一回咱们介绍了Vim插件中的ctags.
这一回,咱们继续说Vim的插件。这一回我们要说的Vim插件叫:cscope。好了,还是那句话,闲话休提,
言归正转。让我们一起talk Vim吧!
看官们, 咱们这回说的是Vim中的插件:cscope。cscope是一个工具,或者说一个应用软件,它和ctags
类似,不过它比ctags要强大,但是,它可不是ctags的升级版本,因为它还有一些ctags没有的功能。
它也可以通过插件的形式运行在Vim中,这点和ctags是一样的。cscope 可以把源代码中文件名称、函数
名称、变量名称收集在一起,然后生成一个数据库。我们把该数据库导入到Vim中就能方便地查找到文件、
函数和变量,甚至连函数之间的调用关系都可以找到。cscope 生成的数据库文件,也可以比喻成地图。不
过与ctags生成的地图相比,这张地图的精确度要高一些,因为它可以定位一些ctags定位不到的东西,
比如文件名和变量名等。
看官们,咱们使用的Mint中默认没有安装cscope,因此需要咱们手动安装一下。安装方法如下:
- 1.检查cscope:
首先使用命令:which cscope 确认系统中是否安装了cscope,执行该命令后,没有任何的结果,这说明系统中没有安装cscope。
- 2.安装cscope:
使用命令:apt-get install cscope 来安装cscope,执行该命令后(需要使用root帐户才能执行该命令),得到下面的结果:
正在读取软件包列表... 完成正在分析软件包的依赖关系树
正在读取状态信息... 完成
建议安装的软件包:
cscope-el
下列【新】软件包将被安装:
cscope
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 388 个软件包未被升级。
需要下载 143 kB 的软件包。
解压缩后会消耗掉 756 kB 的额外空间。
获取:1 http://archive.ubuntu.com/ubuntu/ trusty/universe cscope i386 15.8a-2 [143 kB]
下载 143 kB,耗时 2秒 (70.9 kB/s)
Selecting previously unselected package cscope.
(正在读取数据库 ... 系统当前共安装有 158092 个文件和目录。)
Preparing to unpack .../cscope_15.8a-2_i386.deb ...
Unpacking cscope (15.8a-2) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
正在设置 cscope (15.8a-2) ...
- 3.确认cscope:
最后,我们还是确认一下是否安装成功,确认的方法和步骤1中的一样:which cscope,执行该命令后,得到以下结果:/usr/bin/cscope。这说明系统中已经成功安装cscope。
看官们,我们在前一回中说过,使用Vim+ctags 阅读程序的源代码时,可以快速地定位到函数定义的地方,
节省我们查找函数的时间,进而提高阅读程序源代码的效率。如果在把cscope也加入到Vim的插件中,也
就是Vim+ctags+cscope。那么Vim的功能就得到了进一步的扩展,它不但可以快速定位函数,而且还可
以快速定位文件和变量,甚至是函数的调用关系也可以定位出来。看官们,是不是听着都感觉手痒痒了呢,
那么赶快自己动手试试吧。就像毛爷爷说的:自己动手,丰衣足食。
各位看官,关于Vim的插件:cscope,今天就说到这里为止。在后面的章回中,我们还会说其它的Vim插
件。欲知以后还有什么插件?且听下回分解。