一、注意:
1.需將vim版本升級,本人升級到當時最新版本8.1
2.vim8.1 默認只支持python3,不支持python2,而本人需要python2,故用源碼安裝vim8.1,沒有使用apt-get安裝方式
3. 網上查詢說YouCompleteMe只能支持python2或python3中一個
4.本人使用的vim插件管理器是vim addon manager, 簡稱VAM
5.在安裝完vim8.1後,使用VAM安裝YouCompleteMe後,其實並未真正安裝完全,需要編譯出ycm_core.so,生成後放在如下路徑
/root/.vim/vim-addons/YouCompleteMe/third_party/ycmd/ycm_core.so
6.在用VAM安裝YouCompleteMe插件後,利用./install.py --clang-completer指令編譯時出現如下錯誤:Could NOT find PythonLibs (missing: PYTHON_INCLUDE_DIRS) (found version "2.7.6"),解決方式是sudo apt-get install build-essential cmake3
7.youcompleteme只支持原生態的python解釋器,因此在運行install.py前,應該指定使用原生態的python解釋器(lz是將anaconda的bin路徑臨時性的從PATH中移除),雖然使用anaconda的python解釋器也可以編譯成功,但是在vim中使用youcompleteme的時候會報錯。
二、基本流程
1.升級vim到8.1
2.安裝vim addon manger 插件管理器
3.利用VAM安裝YouCompleteMe
4.編譯YouCompleteMe
5.配置
三、參考文章:
四、安裝流程
1、vim8.1安裝
sudo apt install libncurses5-dev libgnome2-dev libgnomeui-dev \ libgtk2.0-dev libatk1.0-dev libbonoboui2-dev \ libcairo2-dev libx11-dev libxpm-dev libxt-dev python-dev \ python3-dev ruby-dev lua5.1 liblua5.1-dev libperl-dev git
注:由於Ubuntu已安裝python,故python-dev 和python3-dev捨去sudo apt remove vim vim-runtime gvim
隨便找個目錄進行如下:
- git clone https://github.com/vim/vim.git
- cd vim
- ./configure --with-features=huge --enable-multibyte --enable-rubyinterp=yes --enable-pythoninterp=yes --with-python-config-dir=/usr/lib/python2.7/config-x86_64-linux-gnu --enable-perlinterp=yes --enable-luainterp=yes --enable-gui=gtk2 --enable-cscope --prefix=/usr/local
- make VIMRUNTIMEDIR=/usr/local/share/vim/vim81
- sudo apt install checkinstall
- sudo checkinstall
- sudo make install
- sudo update-alternatives --install /usr/bin/editor editor /usr/local/bin/vim 1
sudo update-alternatives --set editor /usr/local/bin/vim
sudo update-alternatives --install /usr/bin/vi vi /usr/local/bin/vim 1
sudo update-alternatives --set vi /usr/local/bin/vim - vim --version 查看版本
2、VAM安裝
- vim ~/.vimrc
- 將如下內用添加
- 1 " put this line first in ~/.vimrc
2 set nocompatible | filetype indent plugin on | syn on
3
4 fun! SetupVAM()
5 let c = get(g:, 'vim_addon_manager', {})
6 let g:vim_addon_manager = c
7 let c.plugin_root_dir = expand('$HOME', 1) . '/.vim/vim-addons'
8
9 " Force your ~/.vim/after directory to be last in &rtp always:
10 " let g:vim_addon_manager.rtp_list_hook = 'vam#ForceUsersAfterDirectoriesToBeLast'
11
12 " most used options you may want to use:
13 " let c.log_to_buf = 1
14 " let c.auto_install = 0
15 let &rtp.=(empty(&rtp)?'':',').c.plugin_root_dir.'/vim-addon-manager'
16 if !isdirectory(c.plugin_root_dir.'/vim-addon-manager/autoload')
17 execute '!git clone --depth=1 git://github.com/MarcWeber/vim-addon-manager '
18 \ shellescape(c.plugin_root_dir.'/vim-addon-manager', 1)
19 endif
20
21 " This provides the VAMActivate command, you could be passing plugin names, too
22 call vam#ActivateAddons([], {})
23 endfun
24 call SetupVAM()
25
26 " ACTIVATING PLUGINS
27
28 " OPTION 1, use VAMActivate
29 "VAMActivate taglist
30
31
32 " OPTION 2: use call vam#ActivateAddons
33 call vam#ActivateAddons(['taglist', 'YouCompleteMe'], {'auto_install' : 0}) - 注:行號33中'taglist', 'YouCompleteMe'是我要添加的插件名,之後運行vim後會自動下載VAM,並詢問是否安裝此兩個插件,安裝地址爲:~/.vim/vim-addons
3、YouCompleteMe插件安裝
- 若按上面步驟則以安裝好YouCompleteMe,若沒有則添加,VAM就是這麼安裝插件方便,只需要名字即可,當然VAM還有其他比較正規的安裝命令,這個只是激活插件,但沒有,所以VAM詢問是否安裝
4、編譯YouCompleteMe
- 進入YouCompleteMe目錄,我的是: ~/.vim/vim-addons/YouCompleteMe
- sudo apt-get install build-essential cmake3
- ./install.py --clang-completer (--clang-completer 標誌支持c語言家族)
- 完成
5.配置
完成第四步已經成功,配置根據個人喜好,我也菜鳥,本人需要使用anaconda,所以如下:
vim ~/.bashrc
export PATHONPATH=”/path/to/anaconda2/lib/python2.7/site-packages:$PYTHONPATH”
退出
source ~/.bashrc
補充注意:
gcc版本至少4.9,本人升級到5.0以上,很簡單指令