博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VIM下的cscope使用方法(图文并茂&简易上手)
阅读量:2029 次
发布时间:2019-04-28

本文共 1389 字,大约阅读时间需要 4 分钟。

一、cscope安装

sudo apt-get install cscope

在这里插入图片描述

二、创建cscope数据库

在需要建立cscope索引的源码目录下,运行下面这个命令即可生成cscope索引。

cscope -Rbq

创建数据库的各个参数含义如下:

-R:递归解析所有的子目录。
-b:仅构建交叉引用(cross-reference)文件,即数据库,然后退出,而不会进入交互界面。
-q:通过倒排索引加速符号的查找过程。该选项会导致cscope额外产生cscope.in.out和cscope.po.out两个文件。
在这里插入图片描述

而后在当前目录下会产生三个文件,cscope.outcscope.in.outcscope.po.out

在这里插入图片描述

三、上手使用查找操作

需要首先声明的是:cscope命令都以:cscope(或者简写为:cs)开头。:表示这些命令均在vim的一般模式下执行。

1、在当前目录下打开终端,输入vim

在这里插入图片描述

然后再输入下面命令,以建立与数据库的连接。

:cs add ./cscope.out

在这里插入图片描述

当然也可以使用:cs show查看是否建立连接。

在这里插入图片描述

2、查找

我们建立数据库的目录就是为了方便查找某个函数、变量等,然后跳转到那里。常用参数如下:

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

g: 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
d:查找本函数调用的函数
c: 查找调用本函数的函数
t: 查找指定的字符串
e: 查找egrep模式,相当于egrep功能,但查找速度快多了
f: 查找并打开文件,类似vim的find功能 i: 查找包含本文件的文件

比如我们要查找AlgorithmLink_laneDetectCreate出现的地方,可以用下面这个命令。其中ffind缩写。

:cs f s AlgorithmLink_laneDetectCreate

在这里插入图片描述

输入数字和回车是因为有多个地方符合条件!

四、一些有用的设置

这里先来解决一个自己的疑惑:vim安装的时候在/ect/vimrc已经可以进行vim的文件配置了,为什么还要~/.vimrc呢?

在目录 /etc/vim/下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录HOME下,都可以自己建立私有的配置文件(仅对这个用户有效),命名为:“.vimrc”。例如,对于当前用户/home/clay目录下,通常已经存在一个.vimrc文件。

1、输入vim ~/.vimrc

在这里插入图片描述

然后添加如下参数,

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

在这里插入图片描述

这样通过:cs find xxx查找某个符号后,会立即跳转到第一个找到该符号出现的位置。

当然啦,上面手动添加cscope也是比较烦的,可以直接在~/.vimrc中加入cs add cscope.out,自动添加数据库!

2、在使用cscope时,可以输入:cw来打开quickfix窗口,来显示所有结果出现的位置。

在这里插入图片描述

在quickfix窗口切换不同的匹配项,可以输入:cs cn切换到下一个匹配项,:cs cp切换到上一个匹配项。


拓展

①、VIM撤销操作:需要从编辑状态用键盘上的Esc键切换到“一般模式”在一般模式中,按下一次字母U键就可以撤销一次上次的输入。

转载地址:http://uunaf.baihongyu.com/

你可能感兴趣的文章
【Java】【22】读写properties文件
查看>>
【Spring】【1】mybatis spring的自动扫描配置
查看>>
【Java】【25】去除空格
查看>>
【其他】【PL/SQL Developer】【2】报错Initialization error Could not load ".../oci.dll"解决方法...
查看>>
【Java】【28】提高List的removeAll方法的效率
查看>>
【JS】【28】让输入框只能输入正整数
查看>>
【记录】【4】各种工具
查看>>
【JS】【31】读取json文件
查看>>
Ubuntu Boost 编译
查看>>
MySQL中的行级锁,表级锁,页级锁
查看>>
ORACLE 修改SID
查看>>
OpenCV模块分析(转)
查看>>
聊聊我对写好程序的认识
查看>>
OpenSSL源代码学习[转]
查看>>
插件原理2[转自CSDN]
查看>>
COM编程快速入门[转自VCbase]
查看>>
VBA得到word中的超链接
查看>>
ComBSTR的使用
查看>>
硬回车与软回车[转]
查看>>
OpenCV Windows7 VC6.0安装以及HelloWorld
查看>>