Dear internet:

[Disclaimer:  I’m drunk, this is my first blog entry, Garann said to write a Thing, and this entry will go un-edited, as I need to be up at 4:30am tomorrow morning for work.  Let’s get crackin’.]

why I will never use any code-writing tool other than vim

[Additional disclaimer:  nope, no kneckbeard.]

  • Vim can be customized
    Personalized hotkeys?  Sure!  Plugins and .vimrc will become your best friends.  And heck, if you’re too lazy to take care of customization yourself, programs like Janus have got you covered.
  • it’s fucking everywhere
    You’re accessing a new machine, and the poor owner doesn’t have the latest version of Sublime. Oh, no!  What’s a person to do?  Good news:  any ‘nix machine worth its salt is going to have Vim.  Guaranteed.  It also mitigates latency issues — ex: if the servers are down in Houston, and you have to login remotely from some podunk town in the middle of China that has a *terrible* internet connection, adding to that lag time certainly isn’t bueno.  Refreshing the root node with Vim takes less than a second;  it’s almost laughable.
  • Vim is ancient, and will likely be around forever
    Chances are your first #RealJawb had a crusty old Unix admin housed somewhere in the back, making potentially misogynistic comments, lol-ing uncontrollably about cats, and periodically stroking his kneckbeard. (Just me?)  Chances are that Unix admin also used Vim, and would loudly assert that any other editor was inferior.  Don’t hold that against the tool — Vim’s just been around for a while (20 years!) and has attracted a very diverse community.  The strength of its user base will keep it around for much longer.
  • point-and-click IDE’s are absolutely the worst way to teach text editing
    Sad fact is that the majority of beginner programmers are coming from something like a Windows environment:  primarily point-and-click, little use of hotkeys, high risk of RSI’s, and excruciatingly slow.  IDE’s like emacs and Sublime are just going to perpetuate those nasty habits;  Vim is excellent for weaning a person off of mousing.
  • daaaaaaaamn, dat awk-y integration
    It’s not the number of lines, it’s the ability to Sex(plore)!
    (
    See “Best of Vim Tips” in the “Additional Resources”.)
    Never knew I could accomplish so much in just one little, fucked-up-looking line.
  • come on, you can’t learn the, like, 3 important commands?
    – insert mode [i]- command mode [esc]
    – quit without saving [esc :q!]
    – quit with saving [esc] [:wq]
    – …and a plethora of others, just in case you get ambitious
  • and you don’t have to use letters to get around, either
    Arrow keys work just fine in insert mode, y’all.

There’s also this weird camaraderie amongst Vim users that can’t properly be explained (ex: my Quantitative Hydrology professor, after finding out I was also a user, let me download a bunch of his MODFLOW modifications and awkwardly attempted a fistbump).

But, yeah.  Fucking go for it, guys!  The amount of time you invest in learning to use the tool is nothing compared to the benefit.  And, heck! I’ll even make you a hotkey cheat sheet.

Additional resources, in case you don’t believe drunken babble:
Best of Vim Tips

Why oh why do these nutheads use Vim?
ViEmu: Vim emulation
7 reasons every programmer should use Vim
PEOPLE MAKE GAMES FOR YOU

– – –

BEER RECOMMENDATION  (and unintentional sponsor of this blog post):
Dogfish Head 60-Minute IPA