Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Actually, if you are in 'insert' mode in Vim all the time "you're doing it wrong". Vim shines when editing and tweaking existing code. You should be in 'normal' mode almost all the time, where you do your "thoughtful, creative, deliberate process" by reading and navigating the code base, and reformatting, moving, copying and deleting code, to get it just the way you want.

If you are just doing straight-ahead typing, you're right, Vim won't help.

The book "Practical Vim" has a nice analogy with how artists work. "Pause with your brush off the page." Painters do a lot of things besides applying paint to the canvas. "The painter does not rest with a brush on the canvas. And so it is with Vim. Normal mode is the natural resting state."



I'd really like to see a usability study between Vim experts (10y+ usage) and Sublime Text 2 (1y+ usage) experts on a keyboard+good touchpad combo. We could even do it in theory by counting number of actions and assume the APM in vim to be 10% higher (which is quite optimistic).


Surely if you need to pack reformating, moving, copying and deleting code into as short a time as possible you're doing it wrong even more than if you had to insert a lot of text!

This leaves navigating as the main reason for vi's UI. And macros, apparently. If that's what you want, great, but it's not for me.


As others have said: You didn't learn touch-typing to churn out text as fast as possible. You learned it because it creates a more direct interface between brain and machine. It doesn't hinder your toughts, doesn't break the concentration.

It's the same with vim editing: The idea is not to be able to move code around as fast as possible but to do it without thinking. It's a step closer to the perfect brain-reading computer with which writing code is only a matter of imaging it.


For a new code base, you might be right. As code bases grow, so does cruft - and the older the code gets, the more it requires moving things around just so before you can add new items.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: