Elastic tabstops suggestion by Nick Gravgaard (with demo!)
I would also suggest treating 2+ spaces as one or more tabs to avoid tab vs. spaces debates. See also my article on DSSV.
