Emacs Configuration

Configuration for the one true editor

Beyond any doubt: Emacs is the best editor of the world. But is it only an editor? The saying goes: Emacs was an excellent operating system if it had a decent editor This is, of course, complete BS. There is nothing that you can do better with emacs than to write text, but you can do so much more. Many programs have religious followers, but emacs is the only one with a newsgroup dedicated to its worshiping.

With the right elisp package emacs can be converted to just about anything. Reading Mail? There are at least 4 packages to do this and one of them is really a newsreader.

But it's really a programmers editor. And again, even for such new languages like Java (compared to the age of emacs), you get an development environment which is on par with the best highly specialized Java IDEs. Refactoring, code completion, jump to definition or Javadoc, no problem. With the available elisp packages you can tap the intelligence and take benefit from the experience of cool elisp hackers. This might be true as well for the modern IDEs with their plugin architectures, but hey, elisp is so much cooler and the packages can be changed to your needs at runtime easily.

But flexibility comes with a price. Working towards the goal of the optimally configured emacs is a laborious task. It is never perfect. And you never know everything there is to know. Even old emacs sharks learn a new trick every day.

My gathered tricks are in my emacs configuration available as a tar-archive, or as a browseable version, converted with EmacsWiki:SaveAsHtml. You can click on the filenames provided as arguments to the calls to (init-load-file) to go to the other files. Thanks to all the emacs users on the web and especially the ones on the EmacsWiki, there is plenty of aggregated code inside.

To access the lisp files as text just remove the .html ending from the URL or open the index view of the elisp directory and browse from there. These files will be published to the web with the help of a lisp function, of course. See it here: publish-init.el.

Read Maven POM Files with Elisp

pom.el --- Read classpath and other tags from a Maven POM file

At work we use Maven as a build tool for our Java projects. As the projects grew in number it became a burden to enter the build configuration in two separate places, the Maven POM file and the JDEE prj.el file. This file is my solution to this problem and provides the JDEE with info from Maven's project.xml files. You can read all the tags or properties which gives you access to the classpath, project name or arbitrary properties from the or files.

The newest version is version 0.4. Download or View as HTML

Java Code Generation

jde-gen-extra.el --- Additional code generation templates for the JDEE

Update: As of JDEE 2.3.5 this package is now part of the official JDEE

distribution. I still provide my latest version here for users of an older JDEE version.

A nice feature of every emacsers favorite Java development environment JDEE is the code generation via tempo templates. My jde-gen-extra.el package provides some extra functions like hashCode and equals method generation or the quick creation of exception classes. It depends on a rather new semantic package as it comes with cedet 1.0 beta3. If the JDEE's maintainers agree, this can become part of the main distribution.

The newest version is version 1.2. Download or View as HTML


emacs-wiki-journal.el --- The code used to produce the JournalPage

The code was originally written by Gary V. Vaughan for his personal site. It makes it easy to add new journal entries to a wiki page and to group them by date. You can assign a category to each journal entry and emacs-wiki-journal.el will maintain a category index page for you. New categories can be created on the fly. If there is an image for the category available on the file system, the entry is adorned with this picture, giving the journal a Slashdot-like look.

I improved on the original code for my JournalPage. It has now found its new home in the tla archive of the current emacs-wiki maintainer Michael Olson. Instructions how to get it are on his emacs-wiki page. You may find additional information at the EmacsWiki:EmacsWikiMode page at the EmacsWiki.


amixer.el --- A very small elisp package to set the audio volume.

Recently I discovered the excellent EmacsWiki:EMMS package. I used XMMS before to listen to music while programming. Using emacs as my interface to selecting the music avoids another annoying grab for the mouse. But there was no way to set the volume without the little rodent. So I came up with this crude alsa mixer interface. Download or View as HTML.

Site Index Source