The Emacs Rabbit Hole

published on

I have been using Emacs as my text editor for about a year now. I still have no idea what I am doing but at least I know why.

Cosy and Powerful

The Emacs client is very lightweight and it can be self-extended whilst running by using Elisp. I am not quite sure how it works as Elisp is too far down the rabbit hole and I haven’t been there yet.

Emacs is very modular to the point that you can use it as an entire operating system if you so choose. It can be used as a windowing manager, a web browser, an email client. Not bad for a text editor right?

Some believe that this makes Emacs monolithic but that is due to a misconception that Emacs itself is doing all of these things and not the independent Elisp and C programs running within it.

Just a few days ago I learned that you can run Emacs as a server, I don’t even know what purpose this would have but it sounds cool.

Vim gang

Prior to using Emacs I used Vim as my editor of choice. I still do for single file editing. I love the Vim keybindings, macros, instruction language, etc. So when I heard that you can use these in Emacs with Evil mode I decided to give it a go.

One Year Later

The thing I have found to be the most impressive about Emacs after a year of use is how it just “works” in a minimalist way. There’s no bells and whistles, I don’t need to use my mouse for anything. Once it has been launched it is ready to go, my way.

I use Evil mode in Emacs and it is indistinguishable from using Vim in a terminal except I am no longer held back by any limitations built into a given terminal emulator. At first I missed being unable to use Alt key for quick normal mode instructions but I have since rebound my keyboard to be more Emacs compatible and find the Emacs way of doing things more intuitive.

I have yet to try Emacs tools such as magit and rmail but this is mostly due to wanting to wait until I learn Emacs properly. Speaking of which…

Taking off the training wheels

I want to learn Emacs from scratch, as it stands for the last year I have not been using Emacs “correctly” in the sense that I haven’t been using it in a way that allows me to learn how it works.

I have been using an Emacs “rice” named Doom Emacs. Which is effectively a glorified interface for package management that handles all of the initial setup of the packages that come with it.

My plan is to learn the intricacies of Emacs configuration, how to correctly use Org mode for documentation and organisation and create an Emacs build that only has what I need and want in it. My hope is that by doing so I will learn more of the intricacies of Emacs and will be able to use it more effectively and maybe start writing my own Elisp extensions.

In The Know

I think that my experience of learning Emacs from scratch will be interesting enough to some people that I may blog about it a bit. I am not sure whether I will do so by updating this post or by making new posts regarding a specific topic, etc I want to talk about. Stay tuned!