Python-mode 是一个 Vim 插件外挂,它使你能够在 Vim 编辑器中更快的利用包括 pylint 、 rope 、 pydoc 、 pyflakes 、 pep8 、 autopep8 、 pep257 和 mccable 在内的各种库来写 Python 程式码,这些库提供了一些编码功能,比如静态分析、特征重构、折叠、补全和文件等。
 
这个插件外挂包含了所有你在 Vim 编辑器中可以用来开发 Python 应用的特性。
Python-mode 的特性
它包含下面这些值得一提的特性:

支援 Python 2.6+ 至 Python 3.2 版本
语法高亮
提供 virtualenv 支援
支援 Python 式折叠
提供增强的 Python 缩排
能够在 Vim 中执行 Python 程式码
能够新增/删除断点
支援 Python 程式码的快捷移动和操作
能够在执行的同时检查程式码(pylint 、 pyflakes 、 pylama ……)
支援自动修复 PEP8 错误
允许在 Python 文件中进行搜寻
支援程式码重构
支援强程式码补全
支援定义跳转

在这篇教程中,我将阐述如何在 Linux 中为 Vim 安装设定 Python-mode,从而在 Vim 编辑器中开发 Python 应用。
如何在 Linux 系统中为 Vim 安装 Python-mode
首先安装 Pathogen(它使得安装插件外挂超级简单,并且执行档案位于私有目录中),从而更加容易的安装 Python-mode
执行下面的命令来获取 pathogen.vim 档案和它需要的目录:

# mkdir -p ~/.vim/autoload ~/.vim/bundle &&
# curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

然后把下面这些内容加入 ~/.vimrc 档案中:

execute pathogen#infect()
syntax on
filetype plugin indent on

安装好 pathogen 以后,你可以像下面这样把 Python-mode 插件外挂放入 ~/.vim/bunble 目录中:

# cd ~/.vim/bundle
# git clone https://github.com/klen/python-mode.git

然后像下面这样在 Vim 中重建 helptags :

:helptags

你需要启用 filetype-plugin(:help filetype-plugin-on)和 filetype-indent(:help filetype-indent-on)来使用 Python-mode 。
在 Debian 和 Ubuntu 中安装 Python-mode
另一种在 Debian 和 Ubuntu 中安装 Python-mode 的方法是使用 PPA,就像下面这样

$ sudo add-apt-repository https://klen.github.io/python-mode/deb main
$ sudo apt-get update
$ sudo apt-get install vim-python-mode

如果你遇到讯息:“The following signatures couldn’t be verified because the public key is not available”,请执行下面的命令:

$ sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys B5DF65307000E266

现在,使用 vim-addon-manager 启用 Python-mode:

$ sudo apt install vim-addon-manager
$ vim-addons install python-mode

在 Linux 中定制 Python-mode
如果想覆盖预设键位系结,可以在 .vimrc 档案中重定义它们,比如:

” Override go-to.definition key shortcut to Ctrl-]
let g:pymode_rope_goto_definition_bind = “
” Override run current python file key shortcut to Ctrl-Shift-e
let g:pymode_run_bind = “
” Override view python doc key shortcut to Ctrl-Shift-d
let g:pymode_doc_bind = “

注意,预设情况下, Python-mode 使用 Python 2 进行语法检查。你可以在 .vimrc 档案中加入下面这行内容从而启动 Python 3 语法检查。

let g:pymode_python = ‘python3’