Skip to content

[VIM] 在 VIM 中使用 YouCompleteMe 自動補完 Python 程式碼

Last Updated on 2022-01-11 by Clay

當我們在遠端伺服器上撰寫程式的時候,許多人都會選擇簡單直白的 VIM 編輯器來進行開發。不過 VIM 雖然開箱即用,但總是比在 IDE 當中少了不少的功能 ...... 或者應該說,除了『寫程式』這件事外,VIM 原生的環境便沒有什麼多的功能了。

不過一直以來,我都知道 VIM 上存在著 "YouCompleteMe" 這個 VIM 上著名的程式碼自動補完外掛,通過讓程式碼自動補完,能夠進一步提昇開發效率。

那麼,今天我就來紀錄我自己安裝這個套件來補完 Python 程式碼的過程,暫時不涉及 VIM 其他好用外掛的紀錄。


YouCompleteMe 安裝步驟

Step 1: 確認 VIM 版本

使用以下指令確認版本:

vim --version

Output:

VIM 版本至少需要是 7.4 以上,同時需要支援 Python 或 Python3。如不支援,則需要重新安裝。


Step 2: 安裝 VIM 的外掛管理套件 Vundle

已經安裝過的可以跳過這一步驟。

首先,若是 ".vim" 資料夾不存在的話需要先建立此資料夾,然後再從 Github 上取得 Vundle 項目。

mkdir ~/.vim
mkdir ~/.vim/bundle
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim


Step 3: 添加 ".vimrc" 的配置

如果在此之前沒有建立過 VIM 的配置 ".vimrc" 的話,需要先建立。然後,在 ".vimrc" 文件中添加如以下配置:

filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'Valloric/YouCompleteMe'
call vundle#end()
filetype plugin indent on

" YouCompleteMe
let g:ycm_global_ycm_extra_conf='~/.vim/bundle/YouCompleteMe/.ycm_extra_conf.py'
let g:ycm_confirm_extra_conf=0
let g:ycm_python_binary_path='/usr/bin/python3'

其中 "let g:ycm_python_binary_path" 設定的路徑應為你的 Python Interpreter 的路徑。結束設置之後儲存文件退出。


Step 4: 使用 Vundle 安裝 VIM 的外掛

接著,直接在終端機中打開 VIM:

vim

然後按下 Esc,輸入:

:PluginInstall

我們會看到這樣的畫面:


Step 5: 編譯 YouCompleteMe

終於來到最後一步了。現在我們需要使用以下指令編譯 YouCompleteMe 這個套件:

sudo ~/.vim/bundle/YouCompleteMe/install.py --clang-completer

這樣一來,我們終於完成 VIM 中 Python 自動補完的設置了!

給一張效果圖:

我們可以看到,當我們使用 os 函式的時候, VIM 便會自動補齊我們想要使用的函式了。


References


Read More

Tags:

Leave a Reply