The cursor keys being on the home row is just because it happened to be that way on the terminal where vi was invented. We have long since standardized on separate cursor keys, which are more intuitive.
The cursor keys being on the home row is just because it happened to be that way on the terminal where vi was invented. We have long since standardized on separate cursor keys, which are more intuitive.
But people who like Vim don't like it for its intuitiveness. Cursor keys aren't ergonomically located, switching from touch typing to moving the cursor with cursor keys involves a massive hand movement compared to how frequently it's necessary. Using HJKL for movement fits extremely well together with touch typing, and the vim mode switching is more comfortable than moving the hand to the cursor keys.
Don't confuse "intuitive" with "ergonomic" or "efficient" or good". They're very often not the same thing.
Also, many kind of typos can be fixed without entering insert mode! If there's an extra character, I delete it with dl. If a character should've been something else, I use 'r' followed by the letter it should have been.
I agree that command mode is more annoying than necessary since it relies on cursor keys to move the cursor.
Who standardized on separate cursor keys? Yes, we have arrow keys, but they're ergonomically worse than anything that lets you stay on the home row. I'll even take the Emacs keys over arrow keys.
Intuitive and convenient are two orthogonal things, I bet that the creators of that terminal put the cursor keys simply because it's convenient to have them on a home row, unlike the creators of the IBM PC keyboard who valued intuitiveness more. I don't see how the ergonomics of typing is outdated.
Besides, after all these years HJKL is a common convention already, and can be even more intuitive for many people (not just programmers, but also e.g. roguelike players who usually have the diagonal movement keys around HJKL as well).
But that's a bit of a red herring since vi's command language makes the entire single-character cursor movement "outdated" in a sense. The abbreviated commands are highly composable and let you navigate and edit any structured text with the speed of thought. That is the actual value of vi.
Does that mean the mouse and keyboard are outdated?