I finally decided that it’s time to really learn Vim. Hey, remember me? It’s been a while. Life got in the way, etc., etc. I launched two new features since the last time I wrote – Learn Magazine and Superfast Onboarding, which you can check out by starting at Flatiron School and filling out one of the forms for our courses. That’ll send you right into Learn. Trust me.
Strictly speaking, as a developer, you don’t need to learn Vim, but personally I think there are a lot of efficiency gains to be had by learning Vim. In The Pragmatic Programmer, authors David Thomas and Andrew Hunt write that it’s really more important to know one text editor well instead of cobbling together a bunch of different editors for separate tasks.
That’s true I suppose, and for the most part I can navigate quickly with Sublime. But pragmatically speaking, a fair amount of developer respect goes toward those who know Vim, so as far as I can tell, learning Vim is only win-win: efficiency + respect.
Learning vim is also a bit tough, though. The idea is to save keystrokes and time by making the keys represent different things in different modes. I also think it’s good because it makes you more deliberate about what you’re typing. So far, I’ve been using Sublime, and it’s actually pretty easy to make a typo just while browsing through a file and then accidentally commit it. With Vim, you’d need to (consciously, I hope) enter a different mode to make changes. It also helps to know vim when you’re pair programming with someone who uses vim. They might tell you they’re not judging how slow you are because your hands leave the keyboard, but…then again they probably are.
Anyway, long story short. Here are some more resources for Learning Vim, which I totally jacked from the people on my dev team.
Shortcut Foo - This costs $8/month, and it’s totally worth it. I’ve been learning shortcuts for nearly all the tools I use.
Vim Adventures - This is a game that makes learning vim almost fun.
Practical Vim - A book they recommended
Fly Vim, First Class - A blog post about getting set up with Vim quickly.
I’m not yet at the stage where I’m doing a lot of configurations for my text editor, but hopefully that’s up next. Right now I’m about to master window management. Whoo!