1. 介绍

Cscope是类似于ctags一样的工具,但可认为他是ctags的增强版。

2. 安装

  • sudo apt-get install cscope
  • 通过源码安装,参照http://blog.csdn.net/hpwzd/article/details/7405401

3. 配置

  • 在源码所在目录下,执行cscope -Rbkq 会生成三个文件:cscope.out/csope.in.out/cscope.po.out
  • 在Vimrc中添加如下一段话,其中/usr/bin/cscope为可执行文件所在目录,如果没有vimrc,那就新建,可以通过whereis查看:
  •  "......................................cscope...........................
    if has("cscope")
    set csprg=/usr/bin/cscope
    set csto=
    set cst
    set nocsverb
    " add any database in current directory
    if filereadable("cscope.out")
    cs add cscope.out
    " else add database pointed to by environment
    elseif $CSCOPE_DB!=""
    cs add $CSCOPE_DB
    endif
    set csverb
    endif
    "....................................cscope replace
    nmap <C-@>s :cs find s <C-R>=expand("<cword>")<CR><CR>
    nmap <C-@>g :cs find g <C-R>=expand("<cword>")<CR><CR>
    nmap <C-@>c :cs find c <C-R>=expand("<cword>")<CR><CR>
    nmap <C-@>t :cs find t <C-R>=expand("<cword>")<CR><CR>
    nmap <C-@>e :cs find e <C-R>=expand("<cword>")<CR><CR>
    nmap <C-@>f :cs find f <C-R>=expand("<cfile>")<CR><CR>
    nmap <C-@>i :cs find i <C-R>=expand("<cfile>")<CR><CR>
    nmap <C-@>d :cs find d <C-R>=expand("<cword>")<CR><CR>

    使用方法是,同时按下Ctrl+@后松开按下's':

    • Ctrl+@-> s ---- 查找C语言符号,即查找函数名、宏、枚举值等出现的地方
    • Ctrl+@-> g ---- 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
    • Ctrl+@-> d ---- 查找本函数调用的函数
    • Ctrl+@-> c ---- 查找调用本函数的函数
    • Ctrl+@-> t  ---- 查找指定的字符串
    • Ctrl+@-> e ---- 查找egrep模式,相当于egrep功能,但查找速度快多了
    • Ctrl+@->  f ---- 查找并打开文件,类似vim的find功能
    • Ctrl+@->  i ---- 查找包含本文件的文

需要注意的是:

  • 打开源文件需要在cscope.out路径下打开,如$ vi ./drivers/tty/serial/imx.c而不是到serial目录下执行$ vi imx.c.否则会出现找不到cscope.
  • 查找进入新的文件后,退回去快捷键:Ctrl+t.

Env:Cscope安装与配置的更多相关文章

  1. Linux环境下SVN服务器端的安装与配置

    最近尝试了下在Linux(CentOS6.5)环境下安装与配置SVN服务器端,安装过程中碰到了一些问题,参看了网友们分享的一些心得,并通过自己实际的操作,最终安装与配置成功!总的来说网上的说法芸芸,大 ...

  2. [moka同学摘录]在Centos 6.5下成功安装和配置了vim7.4

    来源:https://my.oschina.net/gzyh/blog/266097 资源下载地址: 链接:http://pan.baidu.com/s/1kVuaV5P 密码:xkq9   摘要: ...

  3. Debian 入门安装与配置2

    Debian 入门安装与配置2 1. C/C++开发必装软件 atp-get install gcc    这个不用说,用来编译C程序 apt-get install g++ 用来编译C++程序 ap ...

  4. 安装与配置cacti 0.8.8b

    cacti安装与配置 一.安装所需要的软件 Apache    安装Apache文档 Mysql      安装Mysql文档 Php       安装PHP文档 Rrdtool    安装rrdto ...

  5. golang与vscode的安装与配置

    一.golang的下载与安装 以下都是win10的安装与配置 go语言官方下载地址:https://golang.org/dl/ 找到适合你系统的版本下载 傻瓜式安装开始... 二.golang环境变 ...

  6. jenkins安装及配置-centos6.9

    Jenkins安装及配置 目录 1.安装java. 2 1.1安装说明... 2 1.2创建java目录... 2 1.3下载并解压... 2 1.4设置环境变量... 2 1.5验证JDK有效性.. ...

  7. go语言学习-安装和配置

    go的安装方式主要有两种,一种直接使用系统自带的软件源来安装,比如 ubuntu 可以直接使用 apt 安装,但通常这种方式安装的都不会是最新的.所以通常直接下载最新的安装包,可以到GoCN下载.下面 ...

  8. Vagrant (2) —— 基本安装与配置(下)

    Vagrant (2) -- 基本安装与配置(下) 摘要 基本安装与配置 版本 Vagrant版本: 1.8.1 内容 预置 我们可以通SSH登录然后安装一个web服务器,但是这样每个使用Vagran ...

  9. 1-0 superset的安装和配置

    Superset安装及教程官网(http://airbnb.io/superset/installation.html)讲解的已经够详细的了,本篇以官网教程为蓝本进行说明. 入门 Superset目前 ...

随机推荐

  1. ZOJ 1099 HTML

    原题链接 题目大意:按照HTML的语法处理一段字符.这道题算是字符串类型的经典,熟练之后可以做一个简单的html解析器了. 解法:没什么好说的,直接代码. 参考代码: #include<iost ...

  2. 带同时滚动小色条的banner轮播图jq

    <div class="baoliao tongcheng"> <p class="headline1">同城<font>活 ...

  3. 越狱Season 1-Episode 8: The Old Head

    Season 1, Episode 8: The Old Head -Michael: 17 days from now they strap my brother to an electric ch ...

  4. C语言 文件读取

    FILE *fp = fopen("data.txt","rt");fscanf(fp,"%d", &n ); /* 把数据放到数组 ...

  5. DNS与DSN

    dns是域名系统的缩写 dsn在一些专业书籍中是数据源的缩写

  6. Iaas-cloudstack

    http://cloudstack.apt-get.eu/systemvm/4.6/ 模板地址 http://cloudstack.apt-get.eu/centos7/4.6/ 代理及管理地址 ht ...

  7. 虚拟化之vmware-vcenter

    VMware ESXi.VMware vCenter Server 和 vSphere Client,它们分别是 vSphere 的虚拟化层.管理层和接口层. vcenter server 插件和vc ...

  8. Underscore.js 函数节流简单测试

    函数节流在日常的DOM界面数据交互中有比较大的作用,可以减少服务器的请求,同时减少客户端的内存影响 Underscore.js  本省就包含了函数节流的处理函数 _.throttle 和 _.debo ...

  9. Presto 来自Facebook的开源分布式查询引擎

    Presto是一个分布式SQL查询引擎, 它被设计为用来专门进行高速.实时的数据分析.它支持标准的ANSI SQL,包括复杂查询.聚合(aggregation).连接(join)和窗口函数(windo ...

  10. sqlserver快照,启用基于行版本控制的隔离级别

    在sqlserver标准的已提交读(read committed)隔离级别下,读写操作相互阻塞.未提交读(read uncommitted)虽然不会有这种阻塞,但是读操作可能会读到脏数据,这是大部分用 ...