1. Ctrl-shift-Right to select (1 or 3)
2. Ctrl-C copy (1 or 2)
3. Ctrl-H Open replace dialog box (1 or 2)
4. Ctrl-V Paste the old (1 or 2)
5. Tab (1)
6. A_NEW_WORD (10)
7. Enter (1)
8. Replace (1) x10 (or Tab + replaceAll == 2)
9. Escape (1)
-------------
Total 27 or 32
That >80% Better.
On an intelligent IDE:
1. Right Click Key (1)
2. R - to choose refactor (1)
3. R - Rename (1)
4. A_NEW_WORD (10)
5. Enter (1)
----------------
Total: 14
I still want to learn Vim, because I somehow find it 'artistic'. There is some inherent beauty in Vi that I would love to be a part of. Unfortunately, the learning curve is fairly steep and the fear of losing productivity for 2 weeks is too huge. I still use vi for small changes, but for coding I find eclipse a more useful tool.
There's another giant advantage to renaming in an IDE over a text editor: You can be sure not to clobber any other variable/method references.
Here's an example, I want to change the name of my MyClass.Execute() method to something more descriptive. In an IDE, I right click and rename and I'm done.
In vim or other plaintext editors this is practically impossible without manually inspecting each call-site. Is "foo.Execute()" a reference to MyClass.Execute() or YourOtherClass.Execute()? Without actually parsing the program it's tough to know.
I love using vim, and I'm getting better at it the more I use it, but this is one of the major productivity drains I encounter that an IDE does way better.
You forgot to take the conversion rate between clicks and keystrokes into account.
c = (k.d.t.r) / 13333337
Where:
c = click
k = keystroke
d = distance in centimeters between the "J" key and mouse
t = area to be clicked in pixels²
r = screen resolution in pixels²