Why I'm still using Emacs

Dec. 7, 2024

I’ve been using Emacs for 8 years as of now, and Vim for 4-5 before that. Everybody I’ve ever worked with knows very well what I use… but not necessarily why I use it. So why?

This post will try to answer this question that I so often get - why Emacs? The question makes sense - there are so many options, so many IDEs available. Some of them are pretty much the norm, like VS Code and JetBrains.

But it’s not just Emacs

Actually I use both Emacs and Vim… and a bunch of other tools in day-to-day coding. For example tmux, bash, git, ripgrep. Arguably, every tool is an integral part of my workflow, it doesn’t make sense to look at individual tools, instead, everything together is what makes my software development experience what it is.

Still, let’s focus on the big question - why Emacs?

This post will try to provide an objective analysis of the pros and cons, hoping to be as objective as possible. However, with me being me, and my biases being my biases, it’s unlikely I’ll be able to really do an objective analysis… But here it goes anyway.

TL;DR;

I like it. I like so many aspects of using Emacs - from day-to-day writing in it, to periodically checking what new features have been implemented in the core, and the ecosystem. I enjoy org-mode (I’m writing this post in org-mode), evil, Elisp, magit to name a few. But even more I’m impressed with the life of the project - In March 2025 the project will turn 40… years!

Pros

Cons

The Cons here not really Cons for my. I’m listing them because from my discussions with fellow engineers, these are generally seen as negatives. For example, I enjoy doing research on how LSP / DAP work. However, I acknowledge most people prefer having an IDE which just works, without exposing under-the-hood details like LSP or DAP.

Conclusion

I never mentioned speed, speed is not a factor for me. I acknowledge my speed for certain tasks can be extremely fast, however, some other tasks can be much slower. Still, this does not make much of a difference from my experience. Coding or reading/exploring code are just a small part of the daily work. I believe the limiting factor is not the editor/IDE, but the human factor.

I make an analogy with driving a nice car - it’s not faster than any other modern car, assuming speed limit are obeyed.

Still, driving the nice car is more pleasant, more enjoyable.

This is Emacs for me - pleasant, enjoyable!