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. Java-->把txt中的所有字符按照码表值排序

    --> List 列表中的自动添加的多余空间长度该怎么去除呢?...(已解决,是char 数组中的空字符) package com.dragon.java.filesort; import ja ...

  2. 通过代码设置textview颜色

    Resources resource = (Resources) this.getResources();   ColorStateList csl = (ColorStateList) resour ...

  3. Vue.js相关知识3-路由

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  4. 适配IOS9中间遇到的一些问题

    1 directory not found for option问题 警告如下: ld: warning: directory not found for option ‘-F/Application ...

  5. kuangbin_ShortPath D (POJ 3268)

    本来在想 单源多点很好解决但是多源单点怎么解 然后我发现只要倒过来就可以了 把输入存下来然后 处理完dis1 重新init一次 倒着再输入一次 处理dis2 输出max(dis1[i] + dis2[ ...

  6. Spring源码学习之:spring注解@Transactional

    在分析深入分析@Transactional的使用之前,我们先回顾一下事务的一些基本内容. 事务的基本概念 先来回顾一下事务的基本概念和特性.数据库事务(Database Transaction) ,是 ...

  7. linux下crontab定时执行本地脚本和定时访问指定url

    https://my.oschina.net/u/2487410/blog/683308 使用linux curl命令讲解:http://www.linuxdiyf.com/linux/2800.ht ...

  8. -bash: crontab: command not found(转)

    操作步骤 1. 确认crontab是否安装: 执行 crontab 命令如果报 command not found,就表明没有安装 2. 安装 crontab 执行 yum install -y vi ...

  9. 关于CPU Cache -- 程序猿需要知道的那些事

    本文将介绍一些作为程序猿或者IT从业者应该知道的CPU Cache相关的知识 文章欢迎转载,但转载时请保留本段文字,并置于文章的顶部 作者:卢钧轶(cenalulu) 本文原文地址:http://ce ...

  10. pgbouncer配置

    DESCRIPTION pgbouncer is a PostgreSQL connection pooler. Any target application can be connected to  ...