00_ubuntu下vim的c++补全

首先确定vim编辑.cc或者.cpp文件时当前自动补全函数,在命令模式下输入
:set omnifunc?
如果得到的结果为:omnifunc=ccomplete#Complete,说明有必要进行以下的操作以实现针对c++的自动补全


1  首先安装OmniCppComplete,参见:
 http://www.vim.org/scripts/script.php?script_id=1520

 
安装的过程很简单,与大多数vim插件一样,cd到~/.vim/目录解压所下载的文件即可
2 在~/.vim/目录下创建tags子目录
3 创建stdc++ 对应的tags:
 A)首先下载经高手修改定制的libstdc++头文件,可以到这里下载:
          http://www.vim.org/scripts/script.php?script_id=2358

          
并将其解压到~/.vim/tags
 B) 运行以下命令
 $ cd ~/.vim/tags
 $ ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ cpp_src
 $ mv tags cpp

4 修改~/.vimrc文件
 在其中加入以下内容:
 " configure tags - add additional tags here or comment out not-used ones
 set tags+=~/.vim/tags/cpp
 set tags+=~/.vim/tags/gl
 set tags+=~/.vim/tags/fl
 " build tags of your own project with CTRL+F12
 map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
 
 " OmniCppComplete
 let OmniCpp_NamespaceSearch = 1
 let OmniCpp_GlobalScopeSearch = 1
 let OmniCpp_ShowAccess = 1
 let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters
 let OmniCpp_MayCompleteDot = 1 " autocomplete after .
 let OmniCpp_MayCompleteArrow = 1 " autocomplete after ->
 let OmniCpp_MayCompleteScope = 1 " autocomplete after ::
 let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]
 " automatically open and close the popup menu / preview window
 au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
 set completeopt=menuone,menu,longest,preview

5 检验
 用vim打开cpp文件,输入
 std::
 将得到std命名空间的所有标示符,按CTRL+N或者CTRL+P选择
 继续输入std::vector vi,然后输入
 vi.
 vim将自动提示其成员

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值