Little things I would teach to my younger software engineer self - #2 Vi Keybindings

Looking back at the various stages of my career, I realized I could have learned some basic stuff way earlier than I did.
Even if I missed the original opportunity, all those little skills I acquired late served me tremendously well ever since. 

1993-me: You want me to use this crappy thing you call VIsual editor? This is a joke right!? This thing has been invented for the printer terminals or what?! Dude you are stuck in the 70's, we have mice now, CTRL-C/CTRL-V/CTRL-S work on all my Windows applications!! What the hell are you talking about ?

2014-me: Yes, this looks completely alien. It doesn't have anything in common with any other simple editors you've ever used so far.

The first thing you need to realize is that this actually is the standard instead of an alien thing: you have VI installed on almost every un*x systems, all the major IDEs have a VI emulation, even EMACS has one! You learn it once and use it everywhere.

And this is not the standard by mistake: the way this editor works actually makes sense. It makes even so much sense that after learning some commands, you'll start to guess new ones !

Train yourself on http://vim-adventures.com/ and challenge yourself at http://www.vimgolf.com/ (but pick problems that make sense first!).

Any tips you would give to your younger self programmer ? Feel free to comment below !