Skip to content

vim mucomplete with cpp

Lifepillar edited this page Mar 7, 2019 · 2 revisions

Add LanguageClient-neovim settings:

let g:LanguageClient_serverCommands = { \ 'cpp': ['/usr/local/bin/clangd'] \ } " Alternatively, with cquery: "let g:LanguageClient_serverCommands = { " \ 'cpp': ['/usr/local/bin/cquery', " \ '--init={"cacheDirectory":"/tmp/cquery/"}'], " \ 'c': ['/usr/local/bin/cquery', " \ '--init={"cacheDirectory":"/tmp/cquery/"}'] " \ } if !has('nvim') packadd nvim-yarp packadd vim-hug-neovim-rpc endif packadd LanguageClient-neovim

Trigger completion using vim-mucomplete:

set complete=.,w,b,u,k set completeopt=menuone,noselect let g:mucomplete#enable_auto_at_startup = 1 let g:mucomplete#chains = {} let g:mucomplete#chains.default = ['omni', 'c-n', 'path', 'tags', 'dict'] let s:cpp_cond = { t -> t =~# '\%(->\|::\|\.\)$' } let g:mucomplete#can_complete = {} let g:mucomplete#can_complete.cpp = { 'omni': s:cpp_cond } packadd vim-mucomplete

If it seems that autocompletion is not working correctly under all circumstances (e.g., after . or ->), add this to your configuration:

let g:mucomplete#completion_delay = 100 let g:mucomplete#reopen_immediately = 0

This requires Vim 8.0.0283 compiled with +timers.

Clone this wiki locally