環境准備
$ sudo apt install build-essential cmake python3-dev python-dev
$ sudo apt install clang libclang-dev
插件安裝
插件安裝:
Plug 'Valloric/YouCompleteMe'
編譯插件:
$ cd ~/.vim/plugged/YouCompleteMe
$ ./install.py --clang-completer
配置插件:
let g:ycm_add_preview_to_completeopt = 0
let g:ycm_show_diagnostics_ui = 0
let g:ycm_server_log_level = 'info'
let g:ycm_min_num_identifier_candidate_chars = 2
let g:ycm_collect_identifiers_from_comments_and_strings = 1
let g:ycm_complete_in_strings=1
let g:ycm_key_invoke_completion = '<c-z>'
highlight PMenu ctermfg=0 ctermbg=242 guifg=black guibg=darkgrey
highlight PMenuSel ctermfg=242 ctermbg=8 guifg=darkgrey guibg=black
set completeopt=menu,menuone
noremap <c-z> <NOP>
let g:ycm_semantic_triggers = {
\ 'c,cpp,python,java,go,erlang,perl': ['re!\w{2}'],
\ 'cs,lua,javascript': ['re!\w{2}'],
\ }
let g:ycm_filetype_whitelist = {
\ "c":1,
\ "cpp":1,
\ "objc":1,
\ "sh":1,
\ "zsh":1,
\ "zimbu":1,
\ }
let g:ycm_global_ycm_extra_conf='~/.ycm_extra_conf.py'
let g:ycm_confirm_extra_conf = 0
指定.ycm_extra_conf.py路徑:
將 .ycm_extra_conf.py
拷貝到home
目錄
$ cp ~/.vim/plugged/YouCompleteMe/third_party/ycmd/.ycm_extra_conf.py ~/
自定義.ycm_extra_conf.py: 一個項目應該有一個自定義的配置,這樣才能語義補全,將自定義好的配置放到項目的根目錄即可。
效果圖: