配置基於Vim的Python編程環境

此頁由 Linux Wiki用戶Chenxing 於 2012年8月27日 (星期一) 07:06 的最後更改。

出自Linux Wiki

提示:此文已超过 12 年(4499 天)未更新,如发现内容过时或有误,欢迎改进:)

Vim的默認配置對Python支持有限,可以通過安裝插件等方法提高在Vim中編寫Python程序的效率。

Hint.gif
提示:
本文假設您已經配置了基本的Vim編程環境,詳見用Vim編程——配置與技巧
Note.gif
注意:
Python自動補全等功能均需要在編譯vim時打開支持Python選項。如Archlinux中,要安裝gvim包而非vim包(即使只在命令行中使用vim)。

目錄

縮進

根據PEP 8[1],Python文件中建議用空格代替Tab,且縮進應為四個空格。要自動實現此功能,可加入:

" 自动检测文件类型并加载相应的设置
filetype plugin indent on
autocmd FileType python setlocal et sta sw=4 sts=4
Hint.gif
提示:
關於上面幾個設置的詳細含義,參見Vim代碼縮進設置

代碼摺疊

對於Python來說,代碼摺疊可以只以縮進為依據:

autocmd FileType python setlocal foldmethod=indent
"默认展开所有代码
set foldlevel=99

代碼摺疊的具體使用方法參見用Vim編程——配置與技巧

代碼檢查

要在編寫代碼時及時得到變量拼寫錯誤等提示,可安裝pyflakes插件。

如果想編寫嚴格遵循PEP 8的代碼,可使用vim的 pep8插件

為了方便,有人將PyFlakes和PEP 8兩個代碼檢查軟件整合到一起,打造出flake8,該工具可通過插件vim-flake8與vim整合,推薦使用。注意使用vim-flake8時,建議刪除pep8插件,並做如下設置:

" 禁止PyFlakes使用QuickFix,这样在按下<F7>时会调用flake8,而有对于代码编辑时的错误仍能得到有效的提示
let g:pyflakes_use_quickfix = 0
 
" 如有需要,可设置忽略部分错误
let g:flake8_ignore="E501"

其它

其它功能,如代碼補全注釋管理Taglist等已無需為Python特殊設置,請參見用Vim編程——配置與技巧

Hint.gif
提示:
得益於隨Vim 7發行的pythoncomplete插件[2],Python的補全已非常先進,請按用Vim編程——配置與技巧設置即可。

有些系列插件,安裝後可提供各種針對Python的增強功能,但與已有的插件可能會有少許衝突,請視情況使用。如Python ModeVimrc

如果不介意讀英文,Turning Vim into a modern Python IDE一文相當不錯,建議閱讀。啄木鳥維基上的相關文章VimPython也值得一閱。

參考資料

  1. PEP 8
  2. Pythoncomplete插件

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
简体繁体转换