home  /   who am i  /   my work  /   soap box

2012.12.19 - emacs conversion

There is no system but GNU, and Linux is one of its kernels.
There is no system but GNU, and Linux is one of its kernels.
There is no system but GNU, and Linux is one of its kernels.

I tend to get bored and switch editors every couple of years. Most recently, this has led me to Emacs. Prior to using it, I figured the biggest hurdle would be learning all the various key bindings. Surprisingly, the key bindings became natural quite quick. Instead, it was the configuration that challenged me.

Before touching any of my source code with Emacs, I needed to be sure it'd follow my file format conventions and coding styles -- strip trailing white space, always use Unix line endings, convert tabs to spaces, etc. Suddenly I was confronted with swaths of lisp code, foreign functions, and endless tweakable variables. Despite my sanity, I stuck with it.

C-h f and C-h v became my best friends. Slowly the editor became more and more useful. File-cache completion was enabled, tag files were built, indent styles defined. Several weeks later, I've become somewhat competent in lisp. I have a good sense of how to write my own functions to make Emacs do what I need it to do. I've uninstalled my previous editor, and have committed myself completely to Emacs.

When I first started on Emacs, I asked myself many times why it have to be so difficult to configure. Now, however, I realize that it's precisely that difficulty which makes Emacs so great. It's the programmability of the editor that makes it what it is. I'm hopeful that Emacs will keep my interest for many years to come.

Consider me a full fledged convert to the Church of Emacs. With that said, I will be using GitHub to manage my Emacs configuration files, to which all are welcome.