Vim外掛推薦-Python自動補齊Vim外掛jedi-vim的安裝與使用方法
jedi 是一個用於Python自動補齊和靜態分析的開源庫。 jedi-vim 是jedi作者開源的一個基於jedi庫實現的Vim外掛,提供了Vim下Python程式碼優秀的自動補全能力,在github上擁有近4k的star。
Vim教程網介紹的YouCompleteMe外掛實際上也是使用jedi-vim來實現Python程式碼自動補全。
依賴於Jedi庫,jedi-vim外掛幾乎支援了Python的所有語法特性,官方文件上列出的jedi-vim功能包括:
- Builtins
- Multiple
return
s oryield
s - Tuple assignments/array indexing/dictionary indexing
-
with
-statement/exception handling -
*args
and**kwargs
- Decorators, lambdas, closures
- Generators, iterators
- Some descriptors:
property
/staticmethod
/classmethod
- Some magic methods:
__call__
,__iter__
,__next__
,__get__
,
__getitem__
,__init__
-
list.append()
,set.add()
,list.extend()
, etc. - (Nested) list comprehensions and ternary expressions
- Relative
import
s -
getattr()
/__getattr__
/__getattribute__
- Function annotations (py3k feature, are being ignored at the moment, but are
parsed) - Class decorators (py3k feature, are being ignored at the moment, but are
parsed) - Simple/usual
sys.path
modifications -
isinstance
checks forif
/while
/assert
case, that doesn’t work with
Jedi - And more…
除了Python程式碼自動補齊,jedi-vim外掛還能實時展示對應函式的文件(Pydoc),可以說是一個功能非常強大的Vim外掛。
一、jedi-vim安裝
1.1 jedi-vim安裝依賴
首先,jedi-vim外掛需要當前Vim版本支援python,在終端輸入 vim --version
可檢視當前 Vim 的版本和編譯資訊。如下圖可知,當前Vim並不支援 python2或python3,因此需要重新編譯和安裝。原始碼編譯安裝Vim的方法可參考vim原始碼編譯安裝方法。
其次,jedi-vim外掛依賴python開源庫 jedi ,可以使用pip安裝: pip install jedi
,也可以從github下載原始碼安裝。
此外,jedi-vim作者建議Vim版本不應該低於7.3,因為7.3以上版本的Vim提供了 conceal 功能,這是jedi-vim外掛的”函式形參自動補齊(function parameter completion)”功能所必需的。
1.2 jedi-vim安裝方法
有多種方法安裝jedi-vim外掛,推薦使用Vim外掛管理器vundle或(vim-plug)[ https://vim.ink/vim-plug.html]安裝。
如果採用從github下載原始碼的方式進行安裝,執行下面的命令下載原始碼後將下載的資料夾複製到 ~/.vim
即可完成安裝。
git clone http://github.com/davidhalter/jedi-vim path/to/bundles/jedi-vim git clone --recursive http://github.com/davidhalter/jedi-vim
如果使用vundle安裝jedi-vim,只需在配置檔案 ~/.vimrc
中的適當位置增加 Plugin 'davidhalter/jedi-vim'
後再在Vim的命令列模式下執行 :PluginInstall
即可完成安裝。
如果使用vim-plug安裝jedi-vim,只需在配置檔案 ~/.vimrc
中的適當位置增加 Plug 'davidhalter/jedi-vim'
後再在Vim的命令列模式下執行 PlugInstall
即可。
二、jedi-vim外掛使用方法
預設設定下,插入模式下按 <Ctrl-Space>
會觸發jedi-vim的自動補齊,輸入 .
時也會自動觸發自動補齊提醒。
可以使用 let g:jedi#completions_command = "<C-N>"
設定 <Ctrl-n>
(同時按下Ctrl和n鍵) 組合鍵用於觸發jedi-vim的自動補齊功能。
除此之外,jedi-vim外掛常用的功能還包括:
- Goto assignments:
<leader>g
(typical goto function) - 跳轉到定義:
<leader>d
- 顯示Python文件(Pydoc):
K
- 重新命名:
<leader>r
- 展示某個變數的使用方法:
<leader>n
(shows all the usages of a name) - 開啟某個模組:
:Pyimport os
(開啟 os 模組)
注: <leader>
表示Vim的leader鍵,預設為 \
。
推薦閱讀jedi-vim官方文件獲取更多相關介紹: https://github.com/davidhalter/jedi-vim/blob/master/doc/jedi-vim.txt 。

嗯,掃一掃就可以找到小女子我啦~