Chinaunix首页 | 论坛 | 博客
  • 博客访问: 83683
  • 博文数量: 13
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 100
  • 用 户 组: 普通用户
  • 注册时间: 2014-10-23 11:54
个人简介

让思想和双脚带我去梦的远方

文章分类

全部博文(13)

文章存档

2015年(7)

2014年(6)

我的朋友

分类: C/C++

2015-04-01 23:54:29

        为了把gvim打造成一个强大的C++ IDE,折腾了很多插件,其中Omnicppcomplete 折腾了很久,今天终于整好了,分享下经验。
        下面为详细步骤:
        1.首先要安装omnicppcomplete,这个不细述,网上很多教程,很快就能搜到。安装好后阅读其说明文档doc/omnicppcomplete.txt。
        2.在.vim文件夹下创建tags文件夹,存放tags文件。
        3.创建ctgs。

点击(此处)折叠或打开

  1. $ cd ~/.vim/tags
  2. $ ctags -R --sort=1 --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f cpp $PATH/cpp_src
        4.编辑.vimrc文件

点击(此处)折叠或打开

  1. " configure tags - add additional tags here or comment out not-used ones
  2. set tags+=~/.vim/tags/cpp
  3. " build tags of your own project with Ctrl-F12
  4. map <C-F12> :!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q .<CR>

  5. " OmniCppComplete
  6. let OmniCpp_NamespaceSearch = 1
  7. let OmniCpp_GlobalScopeSearch = 1
  8. let OmniCpp_ShowAccess = 1
  9. let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters
  10. let OmniCpp_MayCompleteDot = 1 " autocomplete after .
  11. let OmniCpp_MayCompleteArrow = 1 " autocomplete after ->
  12. let OmniCpp_MayCompleteScope = 1 " autocomplete after ::
  13. let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]
  14. " automatically open and close the popup menu / preview window
  15. au CursorMovedI,InsertLeave * if pumvisible() == 0| pclose|endif
  16. set completeopt=menuone,menu,longest,preview
        如果按照如上方法安装好后还是无法使用,总是出现"pattern not found"该怎么办?
        打开gvim,输入命令:set omnifunc
        如果出现omnifunc=ccomplete#Complete,则表示现在使用的补全函数为c语言的,自然无法补全c++,这时需要在.vimrc 中添加

点击(此处)折叠或打开

  1. au BufNewFile,BufRead,BufEnter *.cpp,*.hpp set omnifunc=omni#cpp#complete#Main
    

        
阅读(4601) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~