I'm having some trouble to enable C/C++ completion with deoplete.

I don't know what plugins I should really install and how to configure deoplete to work with them.

I read that for C/C++ completion vim-marching is recommanded, but is it a plugin that would feed deoplete or a completion plugin on itself?

In vim-marching documentation, it says that it requires vim-proc, also and I see some configurations with neocomplete.

Shougo plugins are like an ecosystem with interdependencies and excuse my poor ignorance but I really don't understand who does what, even after reading the (not always explicit) github pages and documentations.

If someone would have the kindness to explains me how to configure C/C++ completion with Shougo's plugins I would really be grateful.

Thank you


My configuration for deoplete is:

let g:deoplete#enable_at_startup = 0
if !exists('g:deoplete#omni#input_patterns')
  let g:deoplete#omni#input_patterns = {}

I tried it because I got a lot of error at first without it, and now if I disable that configuration I get `Option 'omnifunc' is not set.

Whith clang_complete I tried this:

let g:clang_complete_auto = 0
let g:clang_auto_select = 0
let g:clang_default_keymappings = -1
  • Are you talking about omni completion? Did you tried Ctrl+x Ctrl+o (both together) when typing a c program?
    – SibiCoder
    Apr 22, 2016 at 10:16
  • I think you confuse vim and neovim completion methods in your post. AFAIK, you only need Shougo's 'deoplete' and 'RipRip/clang_complete' for neovim, both properly configured (I remember Shougo did write about how to configure both to work together).
    – VanLaser
    Apr 22, 2016 at 10:26
  • For omni completion I get the error Pattern not found and with 'Rip-Rip/clang_complete' <C-x><C-u> I get the error Option 'completefunc' is not set. I put my configuration in the post. I can't find the post from Shougo... Apr 22, 2016 at 10:59

1 Answer 1


The problem came from the python support in neovim, plugins like clang_complete and deoplete needs python support.

To check if python is supported, :echo has('python') should print 1.

If it prints 0, you need to install the python library python-neovim with pip or you're distribution's package manager if a package exists.

I use Archlinux and packages exists, there is two packages: python-neovim and python2-neovim, the first one being for Python3 and the latter for Python2. For me both packages needed to be installed to enable Python support, and that is where the problem came from.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.