基于Ubuntu 16.04 配置 Vim IDE(3)

          执行以上命令之后,你会发现多了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窗口看到所有查找结果的列表,点击相应列表项就能跳转到相应位置。

2.3.4  winmanager

    WinManager用于管理文件浏览器和缓冲区(buffer)。

    安装命令为:vim-addons install winmanager

    配置见附录vimrc,进入vim之后打开或者关闭命令是输入:WMToggle

2.3.5 minibufexplorer

    安装命令为:vim-addons install minibufexplorer

    配置见附录vimrc

2.3.6 omnicppcomplete(自动补齐)

  安装命令为: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 taglist

taglist用于列出了当前文件中的所有标签(宏, 全局变量, 函数名等)。
    安装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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13102.html