配置基于Vim的Python编程环境

此页由Linux Wiki用户Chenxing于2012年8月27日 (星期一) 07:06的最后更改。

出自Linux Wiki

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

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插件

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

反馈与讨论

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