Emacs

(deep-thought-q
  (concat "Why "
    (deep-thought-q
      (concat "what is the answer to: " (deep-thought-q "what is the ultimate question")))
          " ?"))

I use Emacs for most text editing except Java coding, where I generally use some super clever Integrated Development Environment. (For small and quick editing tasks, I tend to use GNU nano. I only dare to touch vi when equipped with super heavy duty gloves, which makes me very clumsy in such situations.)

An editor should be programmable. Enter the wonderful runtime extensible world of Emacs Lisp. Lisp is fun, however strange it might look at first. It allows me to implement new things that I need, fix things that annoy me and tweak things to work exactly how I want.

My main Emacs configuration and related code is available on GitHub.

Here are some Emacs resources I tend to frequent:

  • GNU Emacs home page
  • EmacsWiki
    Contains a huge amount of Emacs resources in wiki form, with lots of code and configuration help. Very handy.
  • MasteringEmacs.org
  • Lisp reference manual
    If you’re going to be doing Emacs Lisp coding, this place is worth a visit or two. Or three. Also note that the complete manual should be available from within Emacs itself, in info-format (C-h i).