最近在Linux下載用vim寫(xiě)代碼, 代碼跟上思路的感覺(jué)真的是非常好菱属。 美中不足的一點(diǎn)是習(xí)慣了ide的我沒(méi)有代碼補(bǔ)全很不習(xí)慣老充, 于是折騰起了大名鼎鼎的補(bǔ)全插件YouCompleteMe逸爵。安裝過(guò)程很繁瑣悠砚,設(shè)計(jì)到很多庫(kù)和依賴,花了一天時(shí)間查閱大量資料總算是把它給搞定了米奸。接下來(lái)就手把手教你在Linux系統(tǒng)中安裝YCM :)
系統(tǒng)版本:Ubuntu 20.04 LTS
git
首先檢查系統(tǒng)是否有安裝git昼接。很多庫(kù)都需要git,包括我們自己寫(xiě)代碼的時(shí)候也要通過(guò)git來(lái)進(jìn)行代碼管理悴晰。
使用git --version
來(lái)檢查是否安裝了git慢睡。
如果終端返回git版本,那么恭喜你铡溪。
如果沒(méi)有終端提示命令沒(méi)有找到漂辐,在終端輸入
sudo apt-get install git
等進(jìn)度條走完,git就安裝成功了棕硫。
cmake
同樣的方式檢查系統(tǒng)中是否有cmake髓涯,如果沒(méi)有,最后一步編譯會(huì)報(bào)錯(cuò)哈扮。 同樣在終端輸入
sudo apt-get install cmake
進(jìn)行安裝
Vundle
使用Vundle進(jìn)行vim插件管理是一個(gè)很不錯(cuò)的選擇纬纪。這一步我們使用git。 在終端中輸入
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
等待系統(tǒng)完成
.vimrc
創(chuàng)建你的.vimrc文件滑肉。配合.vimrc, 在文件開(kāi)頭添加如下代碼:
set nocompatible “ 必需
filetype off “ 必需
” 將運(yùn)行時(shí)的路徑設(shè)置為包括Vundle并初始化
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
” 使Vuldle管理自己
Plugin ‘VundleVim/Vundle.vim’
”最后要寫(xiě)入YouCompleteMe管理語(yǔ)句的位置
” 你所有的插件必需在這一行之前添加
call vundle#end() “ required
filetype plugin indent on “ required
啟動(dòng)vim, 并輸入
:PluginInstall
前面都是準(zhǔn)備工作包各,接下來(lái)正式安裝YCM
輸入下面命令
cd ~/.vim/bundle
git clone https://github.com/ycm-core/YouCompleteMe.git
下載完成后進(jìn)入到Y(jié)CM目錄下
cd ~/.vim/bundle/YouCompleteMe
輸入以下命令
git submodule -init -recursive
這個(gè)過(guò)程會(huì)比較長(zhǎng),耐心等待靶庙。
上面結(jié)束后问畅,開(kāi)始編譯YCM支持的所有語(yǔ)言:
① ./install.py
安裝過(guò)程同樣比較慢,耐新等待。 編譯完成后护姆, 在.vimrc中添加:
Plugin 'ycm-core/YouCompleteMe'
再運(yùn)行一遍:PluginInstall
矾端,安裝完畢
現(xiàn)在創(chuàng)建一個(gè)vim文件開(kāi)始敲代碼,是不是有代碼提示了卵皂。
①: 可能碰到的問(wèn)題
在進(jìn)行./install.py
時(shí)會(huì)報(bào)錯(cuò)
//這是我的版本
Searching Python 3.8 libraries...
Found Python library: /usr/lib/python3.8/config-3.8-x86_64-linux-gnu/libpython3.8.so
解決辦法:
sudo apt-get install python3-dev
如果還是不可以
sudo apt-get update
sudo apt-get install -y build-essential
這樣再運(yùn)行一遍./install.py
须床,等待結(jié)束。
相關(guān)資料:https://github.com/ycm-core/YouCompleteM YCM
https://github.com/VundleVim/Vundle.vim#about Vundle
https://github.com/ycm-core/YouCompleteMe/issues/914 YCM server SHUT DOWN issue