This is a great article. It made me move to Vim after years of replacing and optimizing every component between my brain and my code.
I could think fast, but although I was the "fastest kid in the block" when it comes to writing code, I always wanted more.
In a pedantic process, this is what I did go through, over the time span of around 7 years:
* Learning to touch type properly.
* Testing out many keyboards (I settled on a clone of an apple keyboard that has no numpad, short keystroke).
* Testing out Dvorak, Colemak, for more than a year, only to return to QWERTY because it is omnipresent.
* Optimizing IDE and editor shortcuts, keybindings, and live templates
* Trying out every editor under the sun, including Emacs, taking care to leave Vim out (because I held it as "not worth it"). I remember trying out a very very alpha SublimeText that didn't have undo -- funny how things go.
* Optimizing the colorscheme and button and canvas layouts of IDEs. I went for blank - hide everything and leave only the canvas visible - in Intellij, Visual Studio, and Eclipse.
Eventually, I read Yehuda's article 2 years ago. I took the same approach, and it's been amazing. I have never felt my brain connected to my editor this well.
I still "use Vim my own way". I save with CTRL-S, copy-paste with CTRL-C/V for example. I'm fully aware of the proper way to do it, and I do that when I'm ssh'd in a server. It is embarrassing but it works. I'm slowly shaving away these embarrassing usage scenarios and becoming a 'pure' Vim user.
Today, I write entire products and libraries at amazing speed (this includes creating files and directory layouts with NERDTree, jumping to files with CTRL-P, etc - no mouse whatsoever, which is very hard to do in a traditional IDE).
I would go further and say that in certain situations (dynamic languages) Vim does become the Holy Grail for me; and I owe that to Yehuda.
I could think fast, but although I was the "fastest kid in the block" when it comes to writing code, I always wanted more.
In a pedantic process, this is what I did go through, over the time span of around 7 years:
* Learning to touch type properly.
* Testing out many keyboards (I settled on a clone of an apple keyboard that has no numpad, short keystroke).
* Testing out Dvorak, Colemak, for more than a year, only to return to QWERTY because it is omnipresent.
* Optimizing IDE and editor shortcuts, keybindings, and live templates
* Trying out every editor under the sun, including Emacs, taking care to leave Vim out (because I held it as "not worth it"). I remember trying out a very very alpha SublimeText that didn't have undo -- funny how things go.
* Optimizing the colorscheme and button and canvas layouts of IDEs. I went for blank - hide everything and leave only the canvas visible - in Intellij, Visual Studio, and Eclipse.
Eventually, I read Yehuda's article 2 years ago. I took the same approach, and it's been amazing. I have never felt my brain connected to my editor this well.
I still "use Vim my own way". I save with CTRL-S, copy-paste with CTRL-C/V for example. I'm fully aware of the proper way to do it, and I do that when I'm ssh'd in a server. It is embarrassing but it works. I'm slowly shaving away these embarrassing usage scenarios and becoming a 'pure' Vim user.
Today, I write entire products and libraries at amazing speed (this includes creating files and directory layouts with NERDTree, jumping to files with CTRL-P, etc - no mouse whatsoever, which is very hard to do in a traditional IDE).
I would go further and say that in certain situations (dynamic languages) Vim does become the Holy Grail for me; and I owe that to Yehuda.
Thanks, wycatz!