| ▲ | rmunn 2 hours ago | |
Huh, I never noticed that 0 is on the right side of the keyboard, even though obviously I type it every day so I knew that at some level. Because I think of the vi keybindings by their meaning, not their location. `y` is yank, `d` is delete (and copy to the clipboard, so basically cut, but the mnemonic is delete), and `0` is go to column 0. And `$` means end of string in regex, so that's what it means in vi. (And `^` is the vi shortcut for "go to first non-whitespace column", which is close enough to the regex meaning that I find it easy to remember as well). Yeah, if keyboard positioning matters to your brain then you're going to be really annoyed by 0, a key far to the right, meaning go to the left. But the only vi keystrokes that are assigned by keyboard position rather than meaning are the h/j/k/l navigation keys. Everything else has a meaning-based mnemonic, and until I read your post I hadn't ever thought about their position. I want to press 0, my touch-typing class from my teenage years has drilled that key's location into my hindbrain, so my fingers reach up and press it without thinking about its location at all. The only thing that went through my concious mind was "I want to go to column 0" and then boom, I had typed it. | ||
| ▲ | flaunf221 an hour ago | parent [-] | |
> Everything else has a meaning-based mnemonic, and until I read your post I hadn't ever thought about their position My point is that position is the primary thing that's important for an editor when used for a long time. Your hands and fingers move in physical space, not over alphabet. They get tired and maybe get repetitive strain injuries over real movement. Mnemomics way of setting up keyboard layout (or rather typewriter) would be to put everything in alphabet order. But we quickly realized that it's not a good way. `d` is where it is because according to (imperfect) research it's a common letter and so in QWERTY layout this letter should be on your home row. Putting A-something on `a` because the word starts with `a` is not a long term design. Considerations should be based on usage. How often is this used? Put it closer to home row. Is it designed to be often used with another command? If often, those two probably shouldn't be on single finger. And so on. There is argument for easier start - except that I said already - modal editors are unusable without reading docs first, so that argument doesn't really hold. | ||