>The first thing to realize is that non-modal text editors are extremely biased towards insertion. They make insertion easy (by making the default behaviour of most keys to insert a character into the buffer) at the expense of making most other operations suboptimal, by requiring hard to reach keys or modifiers (or, even worse, moving your hand all the way to your mouse).
i disagree whole heartedly that reaching a modifier key is some great expense. I can do many things very quickly in sublime and have never felt that there was any time loss hitting a modifier key. compared to the expense of:
1) occasionally entering several commands by accident when in the wrong mode and having to correct it
2) lack of ease of use both for initial learning and for other coders who might have to type something on your comp when pairing and they dont use your exact modal editor
3) lack of transitionable skills to other editors, difficult discoverability, and many other side effects of modal systems
i respect the choice of others to use modal editors but it is absolutely not some cut and dry thing as the author presents it.
i can do things in sublime at probably 90% of the speed of someone in vim and perform many or all of the same operations including some you cant do in vim etc thanks to plugins.
aside from all that, reading, writing, and navigating code are not my bottlenecks for productivity anyway.
> 1) occasionally entering several commands by accident when in the wrong mode and having to correct it
Maybe for beginners, but this almost never happens after a while, and hitting undo takes 0 time.
> 2) lack of ease of use both for initial learning and for other coders who might have to type something on your comp when pairing and they dont use your exact modal editor
You have a point for learners, but I'm not going to pick my tools based on what other people need, I'm going to pick them based what I need.
> 3) lack of transitionable skills to other editors, difficult discoverability, and many other side effects of modal systems
Don't see this at all. Vim-like editors have a pretty standard set of objects/verbs, many programs use vim style keys (less for example). How are you going to transition say, IDEA, or RubyMine, or Emacs specific key shortcuts or plugins?
Update: 2 more
> I disagree that reaching for modifiers is some great expense
It is when you are using "commands" at the rate an experienced vim user is. Excluding single char/line navigation spam, I use about 20-70 a minute if I have a good conception of the change I want to make.
> i can do things in sublime at probably 90% of the speed of someone in vim and perform many or all of the same operations including some you cant do in vim etc thanks to plugins.
A) I doubt that. I've seen people rip through stuff in ways that cannot be done without modal editing. For more concrete examples, look at some vimgolf problems and see how sublime solutions compare. keystrokes are a good measurement IMO because it's independent of user typing speed. Not that the average vim user edits like that, but just as an example of what's possible.
B) Saying "with plugins" is a pretty arbitrary measurement, unless you're trying to claim there are plugins in sublime which you can't implement in vim. Do you have a specific example?
fta:
>The first thing to realize is that non-modal text editors are extremely biased towards insertion. They make insertion easy (by making the default behaviour of most keys to insert a character into the buffer) at the expense of making most other operations suboptimal, by requiring hard to reach keys or modifiers (or, even worse, moving your hand all the way to your mouse).
i disagree whole heartedly that reaching a modifier key is some great expense. I can do many things very quickly in sublime and have never felt that there was any time loss hitting a modifier key. compared to the expense of:
1) occasionally entering several commands by accident when in the wrong mode and having to correct it
2) lack of ease of use both for initial learning and for other coders who might have to type something on your comp when pairing and they dont use your exact modal editor
3) lack of transitionable skills to other editors, difficult discoverability, and many other side effects of modal systems
i respect the choice of others to use modal editors but it is absolutely not some cut and dry thing as the author presents it.
i can do things in sublime at probably 90% of the speed of someone in vim and perform many or all of the same operations including some you cant do in vim etc thanks to plugins.
aside from all that, reading, writing, and navigating code are not my bottlenecks for productivity anyway.