Python-Mode – A Simple Vim Python Plugin

So I am fairly new to Python –I’ve been using it since August, 2011– and I must confess, its nothing less than amazing. Its amazing what a few lines of Python code are capable of doing; and if for some reason you do not believe what I am saying, perhaps this [1] might convience you otherwise. When I initially started using Python, Vim [2] proved sufficient.

Things are not always straight forward though 🙁 I reached a stage where I was increasingly requiring features that the default Vim editor settings could not offer –code completion, reliable debugging features, code refactoring… In a nutshell, the default Vim settings were more than sufficient for basic scripting, but I guess I just needed more.

I spent the last two days evaluating the slew [3, 4, 5] of Python IDEs/editors and initially settled for the PyDev Eclipse plugin. Its actually interesting to note that the Python IDEs/editors war [6, 7] has been going on for quite some time now 😉 Anyway, I actually ended up using PyDev for a couple of hours yesterday before I finally settled for Python-Mode [8] –a Vim Python pluglin. The reason behind my choice is simple –its the simplicity of the plugin and the power that comes with Vim editor. I am not very convesant with Vim itself and had issues setting up the plugin; you might want to check out the conversation I had with the guys maintaining the plugin code [9] prior to turning my Vim editor into a Python IDE 😀

In case you decide to use the plugin, below are a few simple steps you will have to follow;

Clone the remote Git repository and create a local copy of the repository

phiri@phrlig001:~$ git clone

Copy plugin directories and files to ~/.vim directory

phiri@phrlig001:~$ cd python-mode
phiri@phrlig001:~$ rsync -ar * ~/.vim

Open ~/.vimrc file and append the code below to activate plugin

filetype plugin indent on

The result is below

A Simple Vim Python Plugin

A Simple Vim Python Plugin

Good luck turning your Vim into a morden Python IDE/editor.



Categories: Technical
Tags: , , ,