码迷,mamicode.com
首页 > 其他好文 > 详细

【Vim】Cscope安装基础和使用

时间:2014-08-05 18:33:39      阅读:333      评论:0      收藏:0      [点我收藏+]

标签:http   使用   os   strong   文件   数据   for   代码   

安装

  • 在CentOS下,我们可以直接使用yum命令进行安装

整体步骤

  • 安装cscope
  • 配置vim配置文件
  • 生成cscope.out文件
  • 使用cscope命令进行操作

cscope安装

  • 在cscope主页进行下载: http://cscope.sourceforge.net
  • cent os的用户可以通过yum命令进行安装
    • yum install cscope
  • 安装时需要使用 configure配置项 ./configure --with-flex (注:如果平台是Linux,最好带上 --with-flex选项)
  • 此外:要在vim中支持cscope,那么在编译vim前还需要配置vim的configure文件,加入一个选项。./configure --enable-cscope

生成cscope文件步骤

  • 命令: cscope -Rbkq

    • R 表示把所有子目录里的文件也建立索引
    • b 表示cscope不启动自带的用户界面,而仅仅建立符号数据库
    • q生成cscope.in.outcscope.po.out文件,加快cscope的索引速度
    • k在生成索引文件时,不搜索/usr/include目录
  • c语言和c++语言在生成cscope文件的时候会有所不同,具体的区别可以查阅网上资料

  • 有c++文件的时候,我们需要先生成一个cscope的file文件,然后再使用这个file文件进行cscope的操作,否则生成的cscope.file文件是不准的
  • cscope命令执行后,会生成3个文件,cscope.out文件是索引,其余的两个文件是用于加速索引速度的

查找一个目录下指定类型的文件

  • 查找所有的c文件:find . -name ‘*.c‘
  • 别的类型,以此类推

配置vim的配置文件

"cscope设置
set cscopequickfix=s-,c-,d-,i-,t-,e-
  • 文中有提到把路径改成你自己的源代码路径。这个如何设置的,需要再确认
  • cscopequickfix是表示与quickfix相关联的配置

cscope操作命令

  • :cs f g boot 就可以查看boot()这个函数的定义了。再输入:
  • :cs f c boot 就可以查看boot()函数被调用的地方了。是不是很方便呢?但是你可以更方便的进行查找,利用快捷键!要使用快捷键,我们还要对它进行配置。在vimrc文件里再添加如下的语句:
  • :cs find s ---- 查找C语言符号,即查找函数名、宏、枚举值等出现的地方
  • :cs find g ---- 查找函数、宏、枚举等定义的位置,类似ctags所提供的功能
  • :cs find d ---- 查找本函数调用的函数
  • :cs find c ---- 查找调用本函数的函数
  • :cs find t: ---- 查找指定的字符串
  • :cs find e ---- 查找egrep模式,相当于egrep功能,但查找速度快多了
  • :cs find f ---- 查找并打开文件,类似vim的find功能
  • :cs find i ---- 查找包含本文件的文

定义cscope的快捷键

  • nmap s :cs find s =expand("") :cw "查找声明
  • nmap g :cs find g =expand("") :cw "查找定义
  • nmap c :cs find c =expand("") :cw "查找调用
  • nmap t :cs find t =expand("") :cw "查找指定的字符串
  • nmap e :cs find e =expand("") :cw "查找egrep模式,相当于egrep功能,但查找速度快多了
  • nmap f :cs find f =expand("") :cw "查找文件
  • nmap i :cs find i ^=expand("")$ :cw "查找包含本文件的文件
  • nmap d :cs find d =expand("") :cw "查找本函数调用的函数
    此外网上还有一个cscope_map.vim 可以下载,下载后,我们可以把cscope_map.vim里从 if has("cscope") 到 endif里边的内容复制到/etc/vimrc里边去

使用上面的快捷键的方法是,将光标定位到你要查找的变量,函数名或者宏定义名处。先按下Ctrl+/,松开后快速按下相应的键,比如按下g,表示查找该函数或者变量的定义;按下c表示查找本函数被调用的地方。功能很强大。

简单解释一下上面的快捷键映射

如: nmap <C-/>s :cs find s <C-R>=expand("<cword>")<CR><CR>

  • nmap 表示在vim的普通模式下,即相对于:编辑模块和可视模式,以下是几种模式
  • :map 普通,可视模式及操作符等待模式
  • :vmap 可视模式
  • :omap 操作符等待模式
  • :map! 插入和命令行模式
  • :imap 插入模式
  • :cmap 命令行模式
  • <C-/>表示:Ctrl+/
  • <C-R>=expand("cword")总体是为了得到:光标下的变量或函数。cword 表示:cursor word, 类似的还有:cfile表示光标所在处的文件名吧
  • <CR><CR>就是回车吧

【Vim】Cscope安装基础和使用,布布扣,bubuko.com

【Vim】Cscope安装基础和使用

标签:http   使用   os   strong   文件   数据   for   代码   

原文地址:http://www.cnblogs.com/jasonJian/p/3892532.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!