The Change

25th of February, 2015

I am leaving vim, my editor of three years, for a younger tool.

The move to using vim was an interesting experience for me. I had previously been mainly a user of TheCodingMonkeys’ SubEthaEdit, an editor for which I still have a great fondness. A couple of summers ago, though, I took a momentous (lol) decision: productivity was important, and I would learn vim. As with the experience of many people switching to vim, I felt a bit of a dip as I really delved into the features it started to feel very fast indeed. But that, I have slowly come to realise, is possibly the issue. It certainly feels very fast—but is it?

According to TechRepublic, there are 18.5 million programmers in the world. That’s a large number, and every single one of them is using a text editor of some description1. Tools that can change the productivity of programmers are big business. So why are there no studies? I’ve been looking around for about a year and I’m increasingly troubled by the fact that there is no scientific evidence at all of vim or emacs being faster than a standard editor. Not even the kind of academic educated guess that undergraduates can get away with citing. Nada.

Have we been taken in by snake oil? Not that anybody has been deliberately misleading anybody else, but we may have come to a collective received wisdom which may not reflect reality. vim feels efficient, but the arguments about speed based on numbers of keystroke don’t take any of the cognitive load into account, and gut insticts aren’t always right.

The doubts about speed were for me coupled with some headaches about customisation. I decided to finally get around to learning Rust this week and went to install a Rust plugin for vim to give myself syntax highlighting. It was somewhere around the point of looking at multiple (and variously incompatible) plugin systems for being able to use other plugins which provide syntax highlighting that I realised this wasn’t work that was worthwhile.

When the most complex part of setting up a project is trying to configure the editor for it, one has to reconsider the editor. So, Today, I’m finally kicking the habit. My ESC key can retire to a quiet island somewhere as I experiment with Atom, Zed, and very possibly SubEthaEdit again.

There will be updates anon.

  1. The handful of people who only work with graphical programming languages I’m excluding for the purposes of this post.