Elastic tabstops - a better way to indent and align code
The elastic tabstops mechanism in Gedit
Update 2014-11-11: Sadly Gedit changed their API some years ago and these plugins (and many others) no longer work.
I have written 2 plugins for Gedit, one that provides the functionality for the main elastic tabstops mechanism, and another that allows users to convert files that use spaces for alignment.
Install the ElasticTabstops Python package: sudo easy_install ElasticTabstops
Download the plugins (and optionally the c code for the main plugin).
Extract the files to ~/.gnome2/gedit/plugins
Delete the libelastictabstops.x86_32.so or libelastictabstops.x86_64.so file so the only .so file remaining is the one that matches your machine's processor architecture. Rename it to libelastictabstops.so
Optionally use the following commands to set the minimum width and padding width values:
gconftool-2 --type int --set /apps/gedit-2/plugins/elastictabstops/paddingwidth 8
Activate the plugins in the preferences dialog.