詳細安裝步驟在github上有,https://github.com/Valloric/YouCompleteMe,我這里是自己總結的簡化版安裝步驟。
步驟1.安裝Vundle
? ? ? ?首先,clone到本地
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
- 把以下內容復制到.vimrc:
-
set nocompatible " be iMproved, requiredfiletype off " required" set the runtime path to include Vundle and initializeset rtp+=~/.vim/bundle/Vundle.vimcall vundle#begin()" alternatively, pass a path where Vundle should install plugins"call vundle#begin('~/some/path/here')" let Vundle manage Vundle, requiredPlugin 'VundleVim/Vundle.vim'" The following are examples of different formats supported." Keep Plugin commands between vundle#begin/end." plugin on GitHub repoPlugin 'tpope/vim-fugitive'" plugin from http://vim-scripts.org/vim/scripts.html" Plugin 'L9'" Git plugin not hosted on GitHubPlugin 'git://git.wincent.com/command-t.git'" git repos on your local machine (i.e. when working on your own plugin)"Plugin 'file:///home/gmarik/path/to/plugin'" The sparkup vim script is in a subdirectory of this repo called vim." Pass the path to set the runtimepath properly.Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}" Install L9 and avoid a Naming conflict if you've already installed a" different version somewhere else." Plugin 'ascenator/L9', {'name': 'newL9'}" All of your Plugins must be added before the following linecall vundle#end() " requiredfiletype plugin indent on " required" To ignore plugin indent changes, instead use:"filetype plugin on" " Brief help" :PluginList - lists configured plugins" :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate" :PluginSearch foo - searches for foo; append `!` to refresh local cache" :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal" " see :h vundle for more details or wiki for FAQ" Put your non-Plugin stuff after this line
- Install Plugins: 打開vim執行
:PluginInstall
?或者直接輸入命令sudo vim +PluginInstall +qall
步驟2.安裝工具和cmake
sudo apt-get install build-essential cmake
步驟3.安裝python-dev,python3-dev
sudo apt-get install python-dev python3-dev
步驟4.安裝clang
sudo apt-get install clang
步驟5.編譯
cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer
- 如果編譯出錯執行:
git submodule update --init --recursive
步驟6.復制以下內容到.vimrc中
"----------------------------""------ YouCompleteMe -------""----------------------------"let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py'" YouCompleteMeset runtimepath+=~/.vim/bundle/YouCompleteMelet g:ycm_collect_identifiers_from_tags_files = 1 " 開啟 YCM 基于標簽引擎let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注釋與字符串中的內容也用于補全let g:syntastic_ignore_files=[".*\.py$"]let g:ycm_seed_identifiers_with_syntax = 1 " 語法關鍵字補全let g:ycm_complete_in_comments = 1let g:ycm_confirm_extra_conf = 0let g:ycm_key_list_select_completion = ['<c-n>', '<Down>'] " 映射按鍵, 沒有這個會攔截掉tab, 導致其他插件的tab不能用.let g:ycm_key_list_previous_completion = ['<c-p>', '<Up>']let g:ycm_complete_in_comments = 1 " 在注釋輸入中也能補全let g:ycm_complete_in_strings = 1 " 在字符串輸入中也能補全let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注釋和字符串中的文字也會被收入補全let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'let g:ycm_show_diagnostics_ui = 0 " 禁用語法檢查inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>" | " 回車即選中當前項nnoremap <c-j> :YcmCompleter GoToDefinitionElseDeclaration<CR>| " 跳轉到定義處"let g:ycm_min_num_of_chars_for_completion=2 " 從第2個鍵入字符就開始羅列匹配項
步驟7.出現的錯誤
我安裝完以后,出現了以下錯誤:
YouCompleteMe unavailable: requires Vim compiled with Python (2.6+ or 3.3+)
解決辦法:編譯安裝vim8.0,添加python支持
?
網址:在deepin上安裝YouCompleteMe