Whenever I teach a Dreamweaver or JavaScript class, few of the students can type. I usually spend a minute or two trying to convince them that being able to type will not only save them time and improve their accuracy, but will totally alter their relationship with the computer, giving them control and confidence that they currently lack. I don’t know how a two-finger typist could even consider programming.
Yet I know that relatively few will invest a small amount of time and money to get the big payoff. The willingness of human beings to act contrary to their own best interests never ceases to amaze me.
We were recently discussing the same thing with regards to programmers and editors. A programmer spends a huge amount of their working day interacting with an editor of some description. Most of the programmers I know use vi. But most vi users I’ve encountered learn more than the basic keystrokes and commands needed to get their work done – often using 2, 3, or even 10 times as many keystrokes as needed (I’m always shocked how many vi users will ‘right arrow’ their way to the end of a line, and then hit ‘a’ and ” to start typing a new line, and who are then amazed when I tell them that not only will ‘A’ start appending to the end of the current line, but that ‘o’ is even easier than ‘A’.
Of course, my own ‘vi’ knowledge is a little rusty too. I learnt most of what I know 10 year ago, when it really was ‘vi’, not new-fangled clones like ‘vim’. I’ve gladly switched to ‘vim’ a long time ago, mostly for multi-level undo, and syntax highlighting, but I’d never really gotten around to learning all the new fancy things you can do.
Now I’m trying to learn one new command a day. I’m not totally convinced by folding yet, and it’ll take me a while to get used to visual selections, but ‘gq’ is nice, and I’ve got great plans to integrate ctags with our configuration management system.
I wonder how many employers though would be prepared to send their employees on an ‘Advanced vi’ course. Somehow I don’t think there’d be very many…
(I got 84wpm on the test – but mostly because it doesn’t allow backspacing. My typing style involves lots of mistakes which are corrected very quickly!)