SlowDown.vim
I am a vim user.
As such, I take continuously enhancing my vim-fu seriously, to keep impressing myself and, of course, others too. It is just fun. And not much beyond. Personally I don't understand the argument for learning vim 'because it makes you more productive'. I mean, things do get much faster in vim by all means, but if you are after productivity, mastering a text editor just does not seem to be the top priority. I don't think vim can (or should) be sold this way these days. Imagine Yoda saying 'Use the Force Luke - it will make you more productive'. They would have never made it past episode IV!
Learning other languages, reading other people's code and so on - that is what going to make you more productive.
However. It wasn't always like that. There were times when mastering vim moves was the matter of life and death. A lot of what I largely consider as a way to show off (perhaps even recursive macros!) was once a prerequisite to getting things done. It was in the era of Slowness. Slow terminals. Or teletypes. Or God knows what else, but the point is that a war could have started and finished before user input would show up as output. No wonder people were getting far more advanced in far shorter time than I am today.
This first occurred to me once when I got stuck editing a perl script over ssh tunnel through two (or three?) servers. Don't ask me how I got into this situation. Sometimes shit like that just happens. So, things have gotten really slow and by the end of day two I found myself using moves I never even thought I knew. That got me thinking. What if there were some sort of a way to slow my everyday vim down? That would naturally force me to trade the amount of keystrokes to their more efficient vim alternatives.
And that is how SlowDown.vim was born. Perhaps the only vim plugin on the planet that (deliberately) makes user experience worse. And possibly the smallest one too.
Check it out. It is fun!
Special thanks to Adrian Longley for proof reading.