vim插件——cscope

cscope是一款强大的C/C++代码浏览工具,提供了比ctags更丰富的查询功能。在Vim中集成cscope,可以便捷地查找函数定义、调用、字符串等,提升开发效率。本文介绍了cscope的安装、配置、使用方法以及命令详解,帮助开发者更好地利用cscope进行代码导航。
摘要由CSDN通过智能技术生成

  版权声明本文参考了《cscope 官方文档》。 未经作者允许,严禁用于商业出版,否则追究法律责任。网络转载请注明出处,这是对原创者的起码的尊重!!!


1 简介

  cscope 是一个 C语言的浏览工具,通过这个工具可以很方便地找到某个函数或变量的定义位置、被调用的位置等信息。目前支持 C 和 C++。cscope 自身带一个基于文本的用户界面,不过 gvim 提供了cscope接口,因此可以在 gvim 中调用 cscope,方便快捷地浏览源代码。

  cscope是一个类似ctags的工具。 你可以把它想作是超过频的ctags,因为它功能比ctags强大很多。 在 Vim里,通过cscope查询结果来跳转就象跳转到其他的标签完全一样;它被保存在标签栈里。这样你就可以象使用tags一样在函数等等之间便捷的跳转。在VIM中使用cscope非常简单,首先调用cscope add cscope.out命令添加一个cscope数据库,然后就可以调用cscope find命令进行查找了。VIM支持8种cscope的查询功能,然后列出目标出现的所有位置。我们还可以进行字符串查找,它会在双引号或单引号括起来的内容中查找。还可以输入一个正则表达式,这类似于egrep程序的功能。

2 安装

  • 手动编译安装
    • http://cscope.sourceforge.net/下载源码
    • 解压后进入源码根目录
    • 配置:./configure --with-flex (注:如果平台是Linux,最好带上 –with-flex选项)
    • 编译:make (注:我没有遇到错误)
    • 安装:make install
  • 下载已编译的二进制包
    • sudo apt install cscope

注意:cscope即可以单独使用,也可以在作为vim的一个插件来使用,但要求vim编译时配置了--enable-cscepe特性。可以使用$ vim --version |grep cscepe来查看是否支持。

3 配置

  • 修改vim配置文件vimrc.你可以修改/etc/vimrc使用所有用户都使用本配置文件,当然你还可以修改~/.vimrc
  • 下载配置文件:cscope_map.vim
  • 把cscope_map.vim里从 if has(“cscope”) 到 endif里边的内容复制到/etc/vimrc里边去,也可以自行修改。

4 使用

  • 建立数据库:cscope -Rbq
  • 进入vim
  • 添加数据库: :add file|dir [pre-path] [flags])
  • 搜索: :find {querytype} {name},除了 4 和 6 之外的类型忽略 name之前的空格。4 和 6 在 querytype和name 之间只能有一个空格分隔。多余的空格是 name}的一部分。

    • 0 或 s: 查找本 C 符号
    • 1 或 g: 查找本定义
    • 2 或 d: 查找本函数调用的函数
    • 3 或 c: 查找调用本函数的函数
    • 4 或 t: 查找本字符串
    • 6 或 e: 查找本 egrep 模式
    • 7 或 f: 查找本文件
    • 8 或 i: 查找#include本文件的文件
    • 9 或 a: 查找此符号被赋值的位置
  • 显示帮助: :help

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝月心语

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值