私はomnicompleteをC++で動作させようとしていますが、omnifuncをomnifunc=omni#cpp#complete#Main
にリセットするとすべてが順番になっているようですが、プラグインはomnifuncを認識せず、pattern not found
エラー。私はCtagsをインストールして.vim/<name_of_dir>
に入れ、cpp_src
を.vim/tags
に追加し、必要なコマンドを実行します。 (詳細はhereを参照してください)OmniCompleteとVimの問題
問題は、私が試しても、このエラーが発生します。これを実現するには何ができますか?私はこれを前に試してみましたが、初めて頭痛の種になってしまったので、それを働かせることができませんでした。しかし今回は、私は決定されました。
のvimrc
1 syntax on
2 set number
3 set autoindent
4 set ft=nasm
5 set ts=4
6 set nowrap
7 set nocp
8 filetype plugin on
9 map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
10
11 autocmd FileType cpp set omnifunc=omni#cpp#complete#Main
12
13 " configure tags - add additional tags here or comment out not-used ones
14 set tags+=~/.vim/tags/cpp
15 set tags+=~/.vim/tags/gl
16 set tags+=~/.vim/tags/sdl
17 " set tags+=~/.vim/tags/qt4
18 " " build tags of your own project with Ctrl-F12
19 map <C-F12> :!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
20 "
21 " " OmniCppComplete
22 let OmniCpp_NamespaceSearch = 1
23 let OmniCpp_GlobalScopeSearch = 1
24 let OmniCpp_ShowAccess = 1
25 let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters
26 let OmniCpp_MayCompleteDot = 1 " autocomplete after .
27 let OmniCpp_MayCompleteArrow = 1 " autocomplete after ->
28 let OmniCpp_MayCompleteScope = 1 " autocomplete after ::
29 let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]
30 " " automatically open and close the popup menu/preview window
31 au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
32 set completeopt=menuone,menu,longest,preview
はいつものように、任意のヘルプははるかに高く評価されます。
更新
はそれで問題がある場合には検査する他の人のための私のctagsファイルを投稿:
明らかctags -R --c++-kinds=+p --fields-+iaS --extra=+q .
map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>