- sometimes you just need to edit text that's not code. Maybe more often than code.
- IDE's are still great for autocomplete and stuff, especially in Java. But the higher-level the language, the less good they get. Like python or javascript. When it becomes a cute little syntax checker instead of a big auto-complete auto-import magic-everything Blendtec mixer ("will it refactor? that is the question."), then the overhead starts to kill it. Speaking of which:
- the overhead in IDE's can be killer. Especially on a big project. Especially especially over NX or VNC or Remote Desktop or something.
- I can imagine vim/emacs as a web app (and therefore as the future). I can't imagine Eclipse in the cloud yet.
- learning keyboard shortcuts for anything makes you instantly more badass
And given that, I'm going for vim, because I like its style: super minimal, instead of trying to do everything. (if I want it to do that, I'll use an IDE, where ctrl-c is copy and ctrl-s is save.) The dreaded modes are not really that daunting: you're just always in command mode, and sometimes you can press i to blip into insert mode, but only for a minute and then you escape back out into command mode. Text reading is more common than inserting text.
So far, I think my favorite quirk is "." (do whatever you just did, again).