Yes, there it is, in all of its 80×24 glory. Up front, I need to mention that, yes, I do use vim on a daily basis, and I will explain why in short order. But let me also be clear that I come to bury vim, not to praise it.
I will give points to vim for using color. And I will award still more points for having an onboard help system. And still more for supporting split screens, and plugins, and a built-in hex editor.
But here is just a smattering from my laundry list of complaints about vim.
- vim is terrifically obtuse. I have been through more than one tutorial, played the online vim learning game, and read through wiki pages ad nauseum and still I need an A3-sized cheat sheet over my desk, to keep myself from tearing my hair out. The last program that required this much constant keyboard overlay-, rule- and context-checking on my part was the equally confounding Microsoft Flight Simulator 2 for the Commodore 64. And if you remember that, you’ll realize I’m right.
- vim doesn’t have a learning curve, it has a learning cliff. A newcomer’s first experience with vim is rather like being pulled from the womb — everything is confusing, upside down, messy, smelly, and there’s a group of people slapping you on the bottom screaming “Breathe! Breathe!” while you shriek and sputter, just wanting to go back to a warm quiet comfortable place. Just getting out of vim requires a level of comprehension about vim that is not at all available to beginners. And by default, vim doesn’t help you out much.
- vim is polarizing. Although I won’t place all the blame for this on vim, since learning either of the two (and a half) major Linux editors by necessity drops you into one camp or another. And both of them (but perhaps not nano) are so esoteric that neither is particularly helpful in learning about the other. You learn one (probably out of necessity, on some forum somewhere) and suddenly you’re standing on one side of a line that you didn’t even know existed. I just needed to edit my .xinitrc, and now I’m part of the vim brigade. Welcome to the party, pal.
Granted, that last complaint is more about the user base than vim or emacs in particular, but I can’t help but wonder how many of the internal divisions (genuine or ingenuine) among *nix users could be redirected from what text editors we use, and focusing on the opportunistic corporate hegemonies that prey on consumer ignorance.
So I’ll go ahead and close off this little rant against vim. It’s far, far from my perfect text editor (and I know what I should be using), but I’d be lying if I said I didn’t use it every day.
Take that as a backhanded compliment then. 🙄