Vim:Plugin:OmniCppComplete
lastmod 2016-01-31created 2015-02-176 edits
How to use
To see the autocompletion list, type <C-x><C-o> in INSERT mode.
Disable scratch preview window
To remove the preview window, do the following.
vimrc sample setting
" omnicppcomplete options
map :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q -f ~/.vim/commontags /usr/include /usr/local/include ~/moz/obj-ff-dbg/dist/include
set tags+=~/.vim/commontags
" --- OmniCppComplete ---
" -- required --
set nocp " non vi compatible mode
filetype plugin on " enable plugins
" -- optional --
" auto close options when exiting insert mode or moving away
autocmd CursorMovedI * if pumvisible() == 0|pclose|endif
autocmd InsertLeave * if pumvisible() == 0|pclose|endif
set completeopt=menu,menuone
" -- configs --
let OmniCpp_MayCompleteDot = 1 " autocomplete with .
let OmniCpp_MayCompleteArrow = 1 " autocomplete with ->
let OmniCpp_MayCompleteScope = 1 " autocomplete with ::
let OmniCpp_SelectFirstItem = 2 " select first item (but don't insert)
let OmniCpp_NamespaceSearch = 2 " search namespaces in this and included files
let OmniCpp_ShowPrototypeInAbbr = 1 " show function prototype (i.e. parameters) in popup window
let OmniCpp_LocalSearchDecl = 1 " don't require special style of function opening braces
" -- ctags --
" map +F12 to generate ctags for current folder:
map :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .
" add current directory's generated tags file to available tags
set tags+=./tags
" Setup the tab key to do autocompletion
function! CompleteTab()
let prec = strpart( getline('.'), 0, col('.')-1 )
if prec =~ '^\s*$' || prec =~ '\s$'
return "\"
else
return "\\"
endif
endfunction
inoremap =CompleteTab()