The curse of vim
or: How I Learned to Stop Worrying and Love the hjkl
The curse of vim
I used to use vim exclusively. This was a few years ago. Having tried a number of graphical text editors on linux that never quite removed that cognitive interruption for editing, I persisted and became productive with vim. It had its quirks and annoyances. But in general I was content. I was hjkl’ing myself around code and the grass was not greener.
Fast forward a few years and we now have sublime and atom. With a number of interesting editors on the horizon as well (like lime and light table).
At some point in its version 2 life cycle, I downloaded a copy of sublime and within a couple of days had paid the license fee and was converted. It was clean, fast, pretty and the plugins were easy and accessible to edit and understand. And there was vintage mode, a homage to vim basic commands.
But vintage mode wasn't quite right. I could still hjkl myself around the screen, but getting in and out of faux NORMAL mode never felt very clean. Vintage mode started grating on me, providing one of those cognitive interruptions that get in the way of putting code onto the screen. I persisted and edited keyboard short-cuts. I upgraded to vintageous. Somehow I was getting locked in VISUAL mode. I was pounding ESC and not in a good way. That grating feeling was strong.
So I turned it all off. I went nude sublime. No hjkl’ing around. No dd or yy. No vim bindings.
And then as I stopped myself from hjkl’ing for the hundredth time, I realised I had been cursed by vim. Never again would I be able to use a text editor and not try and hjkl about. My brain was infected with NORMAL mode and there was no ESC.
So yesterday, I gave in. Vim is not perfect. But once your brain has its own .vimrc muscle memory, there is not much point in fighting it. I rebooted and upgraded my old vimrc.
Edit: Please note, I understand that vim is more than just using hjkl for the arrow keys. I was using hjkl as a symbol for all of the muscle memory that using vim entails. Please feel free to:
:%s/hjkl/all the vim combinations in the world/g