`

使用Vim打造IDE--Cscope

阅读更多

原文:

http://blog.csdn.net/wooin/archive/2007/10/31/1858917.aspx

偶的贡献是整理成符合自己格式的~

可以使用Cscope完成如下功能:

查看一个函数在哪里被调用

查看变量在哪里被使用

查看一个函数调用了哪些函数

检查改动,例如增加一个枚举,会产生什么影响

检查所有的地方都进行了相应修改,例如给一个函数增加参数

在所有文件中对一个全局变量进行改名

源文件在目录中的位置

哪些文件包含这个头文件

Cscope地址:

http://cscope.sourceforge.net

解压后编译安装:

# ./configure
# make
# make install

之后,在~/vimrc中增加如下一行:

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

这个用以设定是否使用quickfix 窗口来显示cscope的结果,quickfix请参看另一篇文章。


与Ctags类似,要使用Cscope必须先为源代码生成一个cscope数据库,。

在项目的根目录运行下面的命令:

# cd /home/zebra/myprogram/src
# cscope -Rbq
# 这样会生成三个文件
# 打开文件, 开始Coding
# cd src
# vi mymain.c

进入vim后需要把生成的cscope文件导入到vim中来,用下面的命令:

:cs add /home/zebra/myprogram/src/cscope.out /home/zebra/myprogram/src

必须把两级中的cscope文件都加入。因为源码是多级目录的,仅仅具有前一个,cscope无法在子目录的源码中正确工作。

当然,如果你的源码都在同一级目录中就没关系了。

如果经常用cscope,可以把上述加入到~/.vimrc。

其一般使用如下:

:cs find g mymain 查看跳转到定义处

:cs find g mymain 查看引用情况,按下回车则调转到第一个引用处。

如果对跳转结果不满意,使用:

:cw 打开quickfix窗口进行挑选。

cscope的主要功能是通过子命令"find"实现。

cs find c|d|e|f|g|i|s|t name

0 或 s 查找本 C 符号(可以跳过注释)
1 或 g 查找本定义
2 或 d 查找本函数调用的函数
3 或 c 查找调用本函数的函数
4 或 t 查找本字符串
6 或 e 查找本 egrep 模式
7 或 f 查找本文件
8 或 i 查找包含本文件的文件

查找都要输入长串命令的话非常不方便,Cscope的帮助手册中推荐了一些快捷键的用法。

下面是其中一组,也是常用的。

将下面的内容添加到~/.vimrc中, 并重启vim即可:


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>

这样,当光标停在某个你要查找的词时, 按下<C-_>g,就会跳转到该对象的定义。其它的类似。


按这种组合键有一点技巧,按了<C-_>后要马上按下一个键,否则屏幕一闪就回到nomal状态,可以如下解决:
<C-_>g的按法是先按"Ctrl+Shift+-", 然后很快再按"g"。

使用reset重新初始化所有连接 ,用法:

cs reset

分享到:
评论

相关推荐

    VIM IDE and CSCOPE 配置

    进入工程/ #CSPOSE #gvim . 即可使用

    vim-IDE配置包

    我使用的一个配置好的vim-IDE版本,解压到用户文件夹,把.spf13-vim文件中的所有隐藏文件添加软链接到用户文件夹,然后,用apt-get 安装ctags,cscope,astyle;之后,把解压出来的cscopemake.sh 放在用户文件夹,即可...

    VIM IDE and CSCOPE 配置(修改版本)

    添加supertab功能(个人做了写修改tab与C-n合并)和(C语言函数补全功能)) 右键加入脚本方便实现beyond compare 功能

    vim打造ide代码浏览器的插件

    将vim打造成ide代码浏览器的插件,功能类似与sourceinsight,是你在linux环境下一样可以方便看代码

    jeffy-vim-v2.1

    jeffy-vim用于配置Vim编辑器,使Vim工作得更像一个C/C++的IDE。在一些插件的润色下,jeffy-vim实现了很多IDE的基本功能,比如:代码解析、代码补全、函数跳转、 程序调试等。我还自己编写了一个插件用于管理项目,...

    windows vim IDE搭建

    完整的windows vim IDE搭建环境搭建,文档简单详细明了,安装文件很齐全,只要按照文档,不用5钟,windows vim IDE搭建就可以搭建完成,并且好用,所有的插件全了ctag、cscope、taglist、函数列表等,还有使用说明。...

    vim-cide:功能强大的搜索和导航插件使VIM成为IDE(基于rgag和cscope)

    强大的搜索和导航插件,使VIM成为基于GNU find,ripgrep( rg )和cscope的IDE。 产品特点 基于RG的多个文件中的文本搜索 支持基于文字或正则表达式的模式 支持用户指定的文件类型 可配置的搜索选项(区分大小写,全...

    VIM_IDE 整合脚本 适用el7 环境

    脚本解压后,在目录内执行脚本 ./VimIde.sh, 在代码的最外层 执行 ./VimIde.sh 1 ,多个参数1, 此脚本 需要当前环境 已经安装 vim ,cscope ,tag 如果没有需要自行安装。

    jeffy-vim:从 code.google.compjeffy-vim 自动导出

    简介jeffy-vim用于配置Vim编辑器,使Vim工作得更像一个C/C++的IDE。在一些插件的润色下,jeffy-vim实现了很多IDE的基本功能,比如:代码解析、代码补全、函数跳转、 程序调试等。我还自己编写了一个插件用于管理项目...

    redhat 环境 vim IDE 脚本

    脚本解压后,在目录内执行脚本 ./VimIde.sh, 在代码的最外层 执行 ./VimIde.sh 1 ,多个参数1, 此脚本 需要当前环境 已经安装 vim ,cscope ,tag 如果没有需要自行安装。

    vim使用进阶:vim使用技巧、配置、命令和插件

    本文的最后介绍了winmanager插件,使用这个插件,可以把netrw插件、bufexplorer插件和taglist插件整合起来,使vim看起来更像一个集成开发环境(IDE)。 vim使用进阶: lookupfile插件 如果你在开发一个大的项目,当你...

    vim-debug.tar.gz

    vim 配置好用的IDE 环境(vim+taglist+cscope,快捷键也给你设置好) + 使用说明 + vimrc

    ubuntu vim 配置文件 .vim .vimrc

    自己配置的VIM IDE环境,包括ctags、cscope等插件,语法高亮等,用了一年时间,读写代码感觉比较方便

    cscope 15.8

    截至2015年7月,最新版本的cscope. 一个插件,配合vim使用,可以使你的vim配置得如IDE那般顺手。

    VIM使用手册

    目录 1. 目录 2. 序言 3. 使用会话(session)和viminfo 4. vimrc初步 5. 保存项目相关配置 6. 使用标签(tag)文件 7. 使用taglist插件 ...18. 在vim中使用gdb调试 19. vim编译中遇到的问题及解决方法

    vim插件和配置 for Linux 自动补全 IDE

    里面的vim插件已经包含了taglist,omnicppcomplete等插件,无需再下载,详细的配置参考.vimrc,注意快捷键使用即可。有什么不喜欢和bug的地方,自行调整.vimrc。ctags命令工具还是要下载安装的。 1. 安装ctags和...

    vim个人配置好的开发环境,支持macosx/linux/windows

    个人常用vim的IDE开发环境2015最新版。。 vim的快捷键和常用插件都已配好。。 支持cscope ctag,扩展工具栏,支持各类代码跳转查看。可以完全替代sourceinsight 支持自动编译输出窗口 支持代码符号定义快速预览...

    vim常用插件集,将其配置成IDE

    缺个omnicppcomplete代码自动补全的,ctags从sourceforge下的,好像缺make 和configure,其他的还好,如果安装不起来自己下吧,怎么安装请google

    经典vim插件设置

    本压缩文件包含了一些经典的vim插件,将vim全力打造成一个IDE。

    vimrc based on vim72

    这是本人刚开始使用vim 的配置,个人认为简单有效。...能把VIM配置成功能强大的IDE,集成语法高亮,Ctags, cscope... 但这前提是你必须完整安装Vim-doc才行。 然后将下载的vimrc 放进/usr/share/vim/下即可

Global site tag (gtag.js) - Google Analytics