YouCompleteMe cannot autocomplete

I want to develop programs in C / C ++, so I installed YouCompleteMe for Vim through Vundle.but, it cannot work normally, in fact it only shows the words contained in the current file. my step is next:

  • download Vundle.vim
  git clone https://github.com/gmarik/Vundle.vim.git ~ / .vim / bundle / Vundle.vim
  • # modify.vimrc
     set nocompatible
     filetype off
     set rtp + = ~ / .vim / bundle / Vundle.vim
     call vundle # begin ()
     Plugin 'gmarik / Vundle.vim'
     Plugin 'Valloric / YouCompleteMe'
     call vundle # end ()
     filetype plugin indent on

  • Launch vim and run:
  `: PluginInstall` 
  • download cmake and clang + llvm
     http://llvm.org/releases/download.html#3.6.0
     http://www.cmake.org/download/

  • prepare clang and cmake
     Extract "clang + llvm-3.6.0-x86_64-linux-gnu-ubuntu-14.04.tar.xz" into ycm_temp
     Rename "clang + llvm-3.6.0-x86_64-linux-gnu" to "llvm_root_dir"
     Extract cmake-3.2.2-Linux-x86_64.tar.gz and Link bin / cmake to / usr / bin / cmake

  • to do
     cd ~
     mkdir ycm_build
     cd ycm_build
     cmake -G "Unix Makefiles" -DPATH_TO_LLVM_ROOT = ~ / ycm_temp / llvm_root_dir.  ~ / .vim / bundle / YouCompleteMe / third_party / ycmd / cpp
     make ycm_support_libs

  • change .vimrc
     let g: ycm_seed_identifiers_with_syntax = 1
     let g: ycm_global_ycm_extra_conf = '/home/li/.vim/bundle/YouCompleteMe/.ycm_extra_conf.py'
     let g: ycm_confirm_extra_conf = 0
     let g: ycm_collect_identifiers_from_tag_files = 1
     set completeopt = longest, menu

Now there are no errors or warnings, but it cannot autocomplete C / C ++ header files!

  • Note
  OS: ubuntu 14.04
 vim: 7.4
 Python: 2.7.6
+5
source share
1 answer

Use the keyboard shortcut Ctrl-X + Ctrl-O to complete the function (function).

It will call the omni function,

and / or download .ycm_extra_conf.py from the following link → https://github.com/rasendubi/dotfiles/blob/d534c5fb6bf39f0d9c8668b564ab68b6e3a3eb78/.vim/.ycm_extra_conf.py

and put it inside .vim, then add the following to .vimrc

let g: ycm_global_ycm_extra_conf = '~ / .vim / .ycm_extra_conf.py'

+4
source

All Articles