Hacker News new | ask | show | jobs
by MarkusWandel 910 days ago
I developed the finger memory for vi when I first encountered it - in 1987! - on a Unix system on which there weren't any other fullscreen editors.

Like with the Perl programming language, I probably understand about 5% of the capabilities of a modern vi implementation. But those are hardcoded into muscle memory for the rest of my life. ddp to swap a couple of lines or :e! to undo your edits and reload is fast when you don't have to think about it, and ditto is moving around with just alphanumeric keys - not having to move the hands to a an arrow pad. Probably vi appeals less to non-touch-typists.

But am I insufferable about it? Nope. I just like it this way. Just fine to drop into an editor of choice if someone else needs to collaborate. And I'm aware that my younger, more mentally elastic colleagues have all developed wizardly knowledge of Visual Studio Code... hmmm, maybe it has vi bindings...

1 comments

So basically, learning vi was about the same as only having a stickshift car available and wanting to drive it. You learn what you need to learn. And once you get the muscle memory, you actually prefer it even though it's weird and kind of obsolete. I've had to give up on the stickshift, but I'm guessing vi will remain available indefinitely. What incentive for someone to learn vi now? Very little. So it goes.
> What incentive for someone to learn vi now? Very little.

I've seen programmers on multiple occasions spend 30+ minutes writing a script to do what could otherwise be accomplished in less than thirty seconds with vi(m).

I often see HN users dismiss vi's approach to editing as if it were some kind of micro-optimization, but consider what impact writing the aforementioned script has on flow. It's worse than the resident office WaterCoolerGuy chewing your ear off for 30 minutes, IMO.

Well part of the "5% of a typical modern vi clone" capabilities is applying a regex over a range of lines, and judicious use of the "." command. Yes, that often replaces writing a script. But probably still not worth learning the editor for.