I have been trying recently to use jEdit as a replacement for Emacs, but I found that I prefer Emacs. It is worth knowing at least one editor really well for all your general text processing needs. For me that is Emacs - though I also know Vim very well.

I know that talking about editors is a religious thing that can start a flame war. So before I say why I use Emacs over jEdit, let me state some things:

  • I used to use be an absolute Vi zealot back when I used a vt100 terminal on a shared computer (a novel thought these days). I still use Vim frequently
  • I started using Emacs in anger in 1994
  • I had numerous failed attempts to learn Emacs before I finally succeeded
  • I use Eclipse for all my Java development (though I would use IDEA if it was free)
  • I cannot extend Emacs by writing Lisp (one day I plan to learn Lisp). This is not a huge drawback as Emacs has record-able macros (like every great editor must)
  • I continue to actively use jEdit for editing XML documents - the XML editing mode is superb

Emacs is a real pain to setup. If I was starting out today from scratch, there is no doubt in my mind that I would be using jEdit and not Emacs. But since I started using it 9 years ago, I have managed to add and refine my .emacs file to include many of the excellent extensions to Emacs. So it is the extensions that keep me using Emacs. Here are the extensions that I use that make Emacs IMHO more enjoyable to use than jEdit:

  • cua-mode - these enables CUA key bindings, which is the classic Control-C to copy, Control-V to paste stuff. It also provides support for editing rectangular blocks of text.
  • ido-mode - provides a very efficient mechanism to switch buffers and navigate to files. I notice that jEdit has a plug-in to emulate the switching of buffers.
  • adaptfill-mode - provide **very** intelligent text wrapping support. For example, when editing a Javadoc comment, it will wrap long lines and understand that it is a Javadoc comment and prefix lines with '\*'.
  • flyspell-mode - performs spell checking of words as you type them (similar to what Microsoft Word does). I really miss this feature in jEdit
  • archive-mode - allows you to view and edit the contents of an archive file (like a ZIP file). I remember impressing somebody one day when I edited a JSP buried inside of a WAR file that was inside of an EAR file, and then saving the changes.

There a number of people who over the years I have attracted to using Emacs. To get started they took a copy of my .emacs file and tailored it. I can highly recommend the http://www.dotemacs.de/ website for good samples to get started. A good .emacs file is essential to really get the best out of Emacs.