Vim Omnicppcomplete模式未找到匹配项。

3
我在我的电脑(Windows 7系统下)安装了vim7.3并希望使用一个自动补全插件。我进行了大量搜索,发现Omnicppcomplete是其中最好的。
因此,我按照这个教程操作:安装OmniCppComplete插件
我的_vimrc配置文件如下:
set nocp 
filetype plugin on
syntax on
set filetype=cpp

set tags+=C:/Program\ Files/Vim/vimfiles/tags/stl

" build tags of your own project with CTRL+F12 
"map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR> 
noremap <F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<cr> 
inoremap <F12> <Esc>:!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_MayCompleteDot = 1 
let OmniCpp_MayCompleteArrow = 1 
let OmniCpp_MayCompleteScope = 1 
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

但是,如果我输入这个内容,会出现错误,我不知道为什么。
#include <iostream>

int main(void) {
   std::|
}

出现错误:-- Omni completion (^O^N^P) 模式未找到

这个修复程序对我无效,因为我已经在使用包含namespace std {}的文件。

1个回答

0

问题在于 set tags+=C:/Program\ Files/Vim/vimfiles/tags/stl 这里有些问题:

  • :pwd -> c:\Windows\system32
  • 将 tags 文件复制到 system32 目录下
  • 重新启动 vim

然后以下的 C++ 代码就可以工作了。


我也有同样的问题,但是我用的是 Mac。你知道我应该把标签放在哪里吗? - Yves

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接