Ian Bicking: the old part of his blog

Re: Other Editors?

I hate to say it, but after going back and forth between Vim and {,X}Emacs a number of times I have to recommend Vim. It's Open Source and Python scriptable, although I'm not sure if it's handling of multiple files and windows would fit your needs. There's Vimacs_ which provides Emacs keybinding for Vim (such an odd concept...). Works over ssh, works on Windows and Macs, does smart indenting, has lots of Python-specific plugins. As much as I loved Emacs, I find Vim (as opposed to vi, which is awful) a treat to work with.

Comment on Other Editors?
by Shahms King


I'm not sticking to a single editor, but I am sticking to a single key-binding. That key binding is Vi(m). I'm not saying it works for everybody, but here's my reasoning:

  1. Vi is everywhere. If I ever need to edit text on an obscure platform, I can be productive.
  2. It may not be for everyone, but I've found that modal editing works for me. I find it easier to switch modes and use simple key strokes than chording keys for even simple tasks like saving.
  3. 99% of my development is on Win32. I use Vim for simple stuff. For the .NET development I do, I'm evaluating ViEmu. This gives me all the functionality of Visual Studio (intellisense, build management, etc.) For Java (and possibly Python in the future, via PyDev), Eclipse has viPlugin. Both of these add-ons cost $$$, but the productivity boost is worth it to me.
  4. Vim has much better support for Unicode than Emacs, at least at this point in time.
  5. "The Pragmatic Programmer" says "Learn one editor." By knowing the Vi(m) key bindings, this lets me be productive in all the editors I use on a daily basis.

It took a long time for me to come down to this. I realized I wasn't going to be fully productive in any one editor, so learning common key bindings is the next best thing, IMO.

# Shawn Wheatley