My Own Personal Editor War

I’m a stickler for dev tools, in particular text editors, almost to a fault. Okay, definitely to a fault. Okay, probably well past the point where any reasonable person would call it a fault.

For a long time after Vim opened my eyes to the power of a Real Text Editor and the fun and effortless feeling of modal editing, I tried to do as much code and longform writing as possible in it, or at least some editor with a decent emulation of its keybindings. But at some point in the last several years there’s been an explosion of good editors, many of which fit that latter criteria. So I took the opportunity to explore a few of them and try to find one that would do away with Vim’s shortcomings while still giving me that sweet, sweet modal editing that I so crave.

What’s Wrong With Vim?

Why did I want to move away from Vim? It’s the original modal editor (well, not counting vi) and it has a hugely robust ecosystem and userbase that makes the solution to almost any problem a Google search away.

But it also has some limitations, baked in at a very low level, that grated on me more and more until I finally wanted to see if I could do better. Some of those limitations:

Sublime

Sublime Text’s main advantages over Vim, for me:

Like Vim, though, Sublime started to show cracks after a while. Unfortunately this happened after I already paid for it, but I got enough use out of it (and learned enough from it about what I will and won’t put up with in my tools) that I consider that money reasonably well spent. For the record, though, a list of my grievances:

I probably could have lived with these problems. Sublime has the nice asynchronous linting I crave and just the right amount of IDE features, and I encounter few enough bugs in my routine ST usage that my last two complaints were mostly ideological rather than practical. But still. There’s got to be something better, right?

Well, spoiler alert: after years as a Vim user hearing about how it’s a ridiculous nonsense program that’s too big for its britches, I’m currently using Emacs and, on the whole, liking it more than I did Vim or ST when I got fed up with them. But because Emacs is not a text editor but a tiny universe, it took me four or five false starts before I finally found a way in that worked for me. I’ll describe it in a future post.