2

我在我的电脑上安装了 vim7.3(在 windows 7 下),我想使用一个自动完成插件。

我搜索了很多,发现 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) Pattern not found

这个错误修复没有帮助,因为我已经使用了使用的文件namespace std {}

4

1 回答 1

0

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

  • :pwd->c:\Windows\system32
  • 将标签文件复制到 system32
  • 重启vim

然后下面的 c++ 代码起作用了。

于 2011-03-18T22:34:15.173 回答