安裝Vundle插件管理其他插件
- 從githhub上下載Vundle到.vim/bundle文件夾中
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
- 配置.vimrc文件
vim ~/.vimrc
set nocompatible " be iMproved
filetype off " required!
"
set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
"
" let Vundle manage Vundle
" required!
"
Bundle 'gmarik/vundle'
"
" My Bundles here:
"
filetype plugin indent on " required!
"
" Brief help
" :BundleList - list configured bundles
" :BundleInstall(!) - install(update) bundles
" :BundleSearch(!) foo - search(or refresh cache first) for foo
" :BundleClean(!) - confirm(or auto-approve) removal of unused bundles
"
" see :h vundle for more details or wiki for FAQ
" NOTE: comments after Bundle command are not allowed..
用Vundle來安裝NERDTree插件
- 在~/.vimrc文件里添加一行 Bundle 'scrooloose/nerdtree'
- 退出并重新打開
vim
,執(zhí)行:BundleInstall
譬淳,這樣NERDTree就安裝好了
安裝YouCompleteMe插件
- 準(zhǔn)備工作
YouCompleteMe的安裝稍微復(fù)雜一些
- 首先通過
vim
和vim --version | grep python
確認(rèn)vim的版本>=Vim 7.4.1578东亦,并且支持Python2或者Python3,ubuntu16.04及其以后的版本都滿足以上的要求拙寡。 - 安裝
sudo apt-get install build-essential cmake
- 安裝
sudo apt-get install python-dev python3-dev
下載YCM膜眠,與NERDTree相同的方法,用Vundle管理
在~/.vimrc文件里添加一行 Bundle 'Valloric/YouCompleteMe',退出并重新打開vim
,執(zhí)行:BundleInstall
進(jìn)行下載环戈。編譯YCM
cd ~/.vim/bundle/YouCompleteMe
./install.py --clang-completer
此過程等待時(shí)間會(huì)比較長(zhǎng),編譯成功后log顯示進(jìn)度條 [100%] Built target ycm_core配置YCM
- 修改.ycm_extra_conf.py
vim ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py
在flags下補(bǔ)全
'-isystem',
'/usr/include',
'-isystem',
'usr/include/c++/5.4.0',
'-isystem',
'usr/include/x86_64-linux-gnu/c++',
并注釋掉下面這一段
try:
final_flags.remove( ‘-stdlib-libc++‘ )
except ValueError:
pass
- 修改.vimrc
" YouCompleteMe
set runtimepath+=~/.vim/bundle/YouCompleteMe
let g:ycm_global_ycm_extra_conf = '~/.ycm_extra_conf.py' " 配置全局路徑
let g:ycm_confirm_extra_conf = 0 " 每次直接加載該文件澎灸,不提示是否要加載
let g:ycm_min_num_of_chars_for_completion=1 " 從第1個(gè)鍵入字符就開始羅列匹配項(xiàng)
let g:ycm_seed_identifiers_with_syntax = 1 " 語(yǔ)法關(guān)鍵字補(bǔ)全
let g:ycm_collect_identifiers_from_comments_and_strings = 1 " 注釋與字符串中的內(nèi)容也要補(bǔ)全
let g:ycm_complete_in_comments = 1 " 在注釋輸入中也能補(bǔ)全
let g:ycm_complete_in_strings = 1 " 在字符串輸入中也能補(bǔ)
let g:syntastic_ignore_files=[".*\.py$"]
" 跳轉(zhuǎn)到定義處
nnoremap <c-g> :YcmCompleter GoToDefinitionElseDeclaration<CR>
" 回車即選中當(dāng)前項(xiàng)
inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>"
" 上下選擇的映射按鍵
let g:ycm_key_list_select_completion = ['<c-f>', '<Down>']
let g:ycm_key_list_previous_completion = ['<c-b>', '<Up>']
- 到此為止院塞,YCM插件就安裝完畢了。此時(shí)打開一個(gè)文件編譯性昭,就可以使用YCM的功能了拦止。
備注(下載YCM另一種方法)
下載YouCompleteMe時(shí)經(jīng)常會(huì)卡住不動(dòng),需要等待很長(zhǎng)時(shí)間糜颠,所以網(wǎng)上有人建議如下方法:
- 先通過以下命令直接下載YouCompleteMe到bundle下
git clone --recursive https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe
cd ~/.vim/bundle/YouCompleteMe
git submodule update --init --recursive
- 下載完成后汹族,在添加 Bundle 'Valloric/YouCompleteMe 到 .vimrc 文件中執(zhí)行
:BundleInstall
可以瞬間完成。
然而我在嘗試這種方法下載時(shí)括蝠,在后面執(zhí)行步驟./install.py --clang-completer時(shí)遇到錯(cuò)誤