Python-mode is a vim plugin that helps you to create python code very quickly by utilizing libraries including pylint, rope, pydoc, pyflakes, pep8, and mccabe for features like static analysis, refactoring, folding, completion, documentation, and more.
The plugin contains all you need to develop python applications in Vim.
- Support Python version 2.6+ and 3.2+
- Syntax highlighting
- Virtualenv support
- Run python code (
- Add/remove breakpoints (
- Improved Python indentation
- Python folding
- Python motions and operators (
- Code checking (pylint, pyflakes, pylama, ...) that can be run
- Autofix PEP8 errors (
- Search in python documentation (
- Code refactoring <rope refactoring library> (rope)
- Strong code completion (rope)
- Go to definition (
- And more, more ...
To read python-mode documentation in Vim, see
- VIM >= 7.3 (mostly features needed +python or +python3 support)
--with-features=bigif you want
% cd ~/.vim % mkdir -p bundle && cd bundle % git clone https://github.com/klen/python-mode.git
Enable pathogen in your
" Pathogen load filetype off call pathogen#infect() call pathogen#helptags() filetype plugin indent on syntax on
% git clone https://github.com/klen/python-mode.git % cd python-mode % cp -R * ~/.vim
Then rebuild helptags in vim:
:help filetype-plugin-on) and
must be enabled to use python-mode.
Repository URL: http://klen.github.io/python-mode/deb/ Install with commands:
add-apt-repository http://klen.github.io/python-mode/deb main apt-get update apt-get install vim-python-mode
If you are getting the message: "The following signatures couldn't be verified because the public key is not available":
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys B5DF65307000E266
vim-python-mode using vim-addons, so after installation just enable python-mode with command:
vim-addons install python-mode
If your python-mode doesn't work:
Load Vim with only python-mode enabled (use debug.vim from pymode):
vim -u <path_to_pymode>/debug.vim
And try to repeat your case. If no error occurs, seems like problem isn't in the plugin.
- Type :PymodeTroubleshooting
And fix any warnings or copy the output and send it to me. (For example, by creating a new github issue if one does not already exist for the problem).
You can override the default key bindings by redefining them in your .vimrc, for example:
" Override go-to.definition key shortcut to Ctrl-] let g:pymode_rope_goto_definition_bind = "<C-]>" " Override run current python file key shortcut to Ctrl-Shift-e let g:pymode_run_bind = "<C-S-e>" " Override view python doc key shortcut to Ctrl-Shift-d let g:pymode_doc_bind = "<C-S-d>"
Documentation is available in your vim
If you have any suggestions, bug reports or annoyances please report them to the issue tracker at https://github.com/klen/python-mode/issues
See the AUTHORS file.
Development of python-mode happens at github: https://github.com/klen/python-mode
Please make a pull request to development branch and add yourself to AUTHORS.
Copyright © 2013 Kirill Klenov (klen)
Licensed under a GNU lesser general public license.
If you like this plugin, I would very appreciated if you kindly send me a postcard :) My address is here: "Russia, 143500, MO, Istra, pos. Severny 8-3" to "Kirill Klenov". Thanks for support!