arenzana.org

Emacs, Lovely

January 20, 2019

For the last few months I’ve been tinkering with Emacs at a deeper level. I got started with it at my first job as an intern 15 years ago and have not looked back ever since. To be completely honest, I don’t remember how I learned. All my colleagues used it and I got started with some basic modes thanks to them. I suppose I had better memory 15 years ago!

For those who don’t know, Emacs is a text editor created by Richard Stallman, David Moon, and Guy Steele in 1976. It’s available for nearly every platform known to man and can be customized to infinity. A friend jokes about how if Emacs was an operating system, that’s the one I’d run.

Reality is, to be able to get around Emacs you just need to learn a few things, such as dired commands, open, close buffer, save, search, etc. But it can go so much further! Did you know that you can find out the lunar phases with M-x lunar-phases?

How Emacs works for me

Alright, fair enough, the lunar phases tip is not strong of a reason to switch to Emacs (or to even try it). But this editor, to me, has been the perfect fit for several purposes. Here’s a few:

Thanks to org-mode, I write a journal, take notes, have my TO-DO list, write technical documentation, and manage JIRA tickets.

go-mode is an excellent Go IDE that I use every day.

shell-mode to use the shell while you’re writing code.

twittering-mode :blush:

I code all my software and do all my writing using Emacs. It works well for me. I wish multi-language support was more straight forward and, while I have figured it out for the most part and feel comfortable with it, setting it up wasn’t trivial.

Where it falls short for me

Emacs, however, is not for everyone. First of all, I tend to recommend vim to newbies thanks to its wide support. But that’s not the point. Emacs hasn’t been perfect for me (so far) for a few things:

Raltime Communications. I use Telegram and Slack on a daily basis; while there are modes for both on Emacs, they are not great or as convenient as the native alternatives or other command line options.

Email. I have tried and made it work. I’ve used gnus,=mu4e=, and notmuch. While notmuch worked the best for me, handling 3 accounts and a somewhat large index made Emacs sluggish and unresponsive. I’ll stick to Thunderbird for now.

Again, these didn’t work for me, but your mileage may vary.

Best resources

The beauty of this community is how responsive and supportive it is. Here are some of the best resources I’ve found for all things Emacs: