执行以上命令之后,你会发现多了3个文件,cscope.in.out,cscope.po.out, cscope.out, 它们就是cscope索引数据库。
注意:以上命令收集的是project目录下cscope缺省类型文件索引,有时候我们自定义文件不能索引,所以我们可以用如下命令替换以上命令:
find . -name "*.h" -o -name "*.cpp" -o -name "*.c" > cscope.file
cscope -bqk -i cscope.file
4)添加cscope库到vim
对于简单1个文件,用vim打开某个源码文件,末行模式下,输入“:cs add cscope.out"。对于整个project工程文件,我们需要借助vim自己读取配置文件。
我是在用户目录~/.vim/plugin/下放置了cscope_map.vim配置文件,后面会附上。
5)cscope常用方法
Ctrl-\ s 查找所有当前光标所在符号出现过位置。
Ctrl-\ c 查找所有调用当前光标所在函数的函数。
当然还有其它按键,请阅读配置文件或者在vim命令行执行:help cscope
注意:通过快捷键查找某个符号后,会立即跳转到第一个找到的该符号出现的位置。如果你对这次默认跳转的位置不满意,在Vim命令行下运行cw命令,就能在编辑区下面quickfix窗口看到所有查找结果的列表,点击相应列表项就能跳转到相应位置。
WinManager用于管理文件浏览器和缓冲区(buffer)。
安装命令为:vim-addons install winmanager
配置见附录vimrc,进入vim之后打开或者关闭命令是输入:WMToggle
2.3.5 minibufexplorer 安装命令为:vim-addons install minibufexplorer
配置见附录vimrc
安装命令为:vim-addons install omnicppcomplete
配置文件见附录vimrc
2.3.7 AutoComplPop(普通变量和函数自动弹出补齐)下载链接:?script_id=1879
安装方法:
先解压:unzip vim-autocomplpop.zip,将解压后的文件拷贝到~/.vim/ 下的相应目录里:
autoload/* -> ~/.vim/autoload/
doc/* -> ~/.vim/doc/
plugin/* -> ~/.vim/plugin/
帮助使用:
重新打开vim即可使用。添加help文件:helptags ~/.vim/doc/即可(打开帮助文件:help autocomplpop)
2.3.8 echofunc(函数原型提示)echofunc下载地址:?script_id=1735
下载完成后,把echofunc.vim文件放到 ~/.vim/plugin文件夹中
当在vim插入(insert)模式下紧接着函数名后输入一个"("的时候, 这个函数的声明就会自动显示在信息提示栏。
注意:这个插件需要tags文件的支持, 并且在创建tags文件的时候要加选项"--fields=+lS"。 ctags -R --field=+IS
2.3.9 taglisttaglist用于列出了当前文件中的所有标签(宏, 全局变量, 函数名等)。
安装Taglist命令: vim-addons install taglist
配置见附录vimrc,进入vim之后关闭或者打开taglist方法是末行命令模式输入:Taglist。
2.3.10 quickfix在程序的开发过程中,很重要的一个循环是:编辑-编译-编辑,vim中的quickfix功能就是为了提高这一循环的效率。
推荐使用Makefile的方式进行项目的编译、管理,可以实现项目的自动化管理、有利于提高效率。通过make命令完成程序的编译工作后,会得到编译结果,一般会有一些编译错误,quickfix功能使我们可以直接跳到文件中的错误位置,直接进行修改,并通过使用quickfix的命令完成错误列表的跳转。
如果仅有1个文件也懒得写Makefile文件,可以采用如下2条命令处理:
:set makeprg=gcc\ test.c\ -o\ test
:make