6 ms·
Why Emacs Keys Are Painful
- eviks 3y agoThe mod swap tragedy is a subtle variation of a very common bug in keymap design: investing in superficial labels instead of real muscles Like if the keymap were designed: "first key left of space" is our primary prefix since it's the most convenient (thumb) modifier, then the physical mod swap would've had no effect, and given the dynamic nature of the underlying language you could even have it be changed in a single variable to have an effect on all the keybinds and all the docs (also yet another illustration how arbitrary bad defaults can stick forever, like vim using HJKL instead of fully going home keys JKL; just because some ancient keyboard had left arrow on H)
- herewulf 3y agoI think HJKL is fine because I primarily move my cursor down and I primarily use my index finger for things as opposed to the other three (non-thumbs). On the other hand (no pun intended), I have countless hours invested into WASD since the Quake days[1] in the 90s. There I press W most often and most definitely with my middle finger. So the middle finger can definitely be trained to a very high level! [1]: I started my shooter "career" with Wolfenstein 3D but since there was no mouse involved, I was using the arrow keys. On the IBM layout one would press up and down with the middle finger (which I suppose is sort of your point).
- eviks 3y agoWith home key cursor you can still have JK as down/up keys. Inverted T for arrow keys could also be used as an alternative by the "very strong muscle memory from games" crowd, that's a valid argument, but it's not some arbitrary arrows painted somewhere decades ago (the OP's keymap also uses inverted T in IJKL)
- fransje26 3y agoThe first thing I do with a WASD keybinding is changing it to ESDF, so that I have a tactile feedback for my index, to make sure I'm on the right keys. That, of course, tends to mess up other predefined keybindings, but that's a sacrifice I'm willing to make.
- aerique 3y agoNot only does the superior ESDF have tactile feedback (because of the nub on the F key) but you also get an extra column of keys (QAZ) on the left!
- BillyTheMage 3y agoI'm with you guys on ESDF because of the extra keys, but sometimes it do get tiring having to stretch my pinky all the way over to shift to sprint.
- eviks 3y agocan rebind it to A, those extra keys should be put to use!
- BillyTheMage 3y agoHuh, funny how it never occured to me to rebind it
- rurban 3y agoYes, but tags-loop-continue Alt+, find-tag Alt+. are constantly used
- wcrossbow 3y agoOne of the first things most people configure with Vim is a more convenient way to escape (ctrl+[ not withstanding) into normal mode. I don't know enough about Emacs culture, but given how prevalent Ctrl/Meta are I would expect something similar to the point that those not doing it are the exception.
- notzane 3y agoI still keep caps lock bound to control even though I don’t use emacs much anymore
- nosrepa 3y agoI've never used emacs and this has been my default for over a decade.
- tesseract 3y agoYeah I'm a little surprised not to see the article touch on keyboard layouts (e.g. DEC, Sun) that had Ctrl in the home row where Caps Lock is on a PC keyboard. While Emacs may have been initially developed on the "space cadet" keyboard, it really became popular on Unix systems that often had an even-easier-to-reach Ctrl key. And to this day swapping caps lock with a modifier remains fairly common.
- tecoholic 3y agoSwitching Esc and Caps lock is one of the first things I do on a new machine. Without it Vim and every place I have vim bindings (evil emacs) would be way too painful to use.
- asdajksah2123 3y agoVim has several nice escape keys, including the ability to customize your own. Some of the ones I've seen people use are: Ctrl + ]/[ (I forget which...I've never used this one) jj Caps Lock. My preference is to globally configure my Caps Lock key in whatever OS I am to "ESC on tap; Ctrl on Hold". This works amazing for VIM and is fantastic for non VIM usage as well. Note: I don't use the mac regularly enough since I discovered this so I'm not sure if it's possible on the Mac (historically Karabiner has achieved whatever I've needed, so I suspect it would be able to do this as well) or if I should set it to CMD instead of Ctrl (On Mac, CMD, or the Apple Key, or whatever Apple is calling it these days, is far more analogous to Ctrl on other platforms).
- ilaksh 3y agoI'm one of those rare vim users that actually uses the cursor keys (and admits it publicly). The author of this article also has information on how early keyboards and circumstances influenced the (now outdated) design of vim. http://xahlee.info/kbd/history_of_vi_keys.html http://xahlee.info/kbd/history_of_vi_keys.html
- Sakos 3y agoNot sure what's outdated? Modal editing isn't outdated. The position of hjkl hasn't changed, so it isn't as problematic as Emacs keys or the vim escape keys. HJKL being on the home row has the same benefits as, say, WASD for movement in games, where using the arrow keys is objectively worse due to placement and the lack of keys around it.
- BillyTheMage 3y agoSpeaking of WASD, I personally use IJKL instead of HJKL because it doesn't make sense to my brain for 4 directions to be in a straight line.
- ilaksh 3y agoRead the link. Modal editing dates from the editor era in which time it generally was infeasible, impractical, or very technically challenging to update the screen and accept commands in a unified mode. 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.
- mcswell 3y agoLike orbital-decay says: intuitive matters not at all. Convenience is what matters. I don't use a modal editor, but I do have the control keys on my Windows keyboard mapped to cursor control keys: the control-H, -J, -K, -L keys all correspond to the H, J, K and L keys when vi(m) is in the cursor control mode, leaving them for ordinary alphabetic use when I am not pressing the control key. Similarly for a bunch of other cursor control keys. And control-Q toggles between selecting and not selecting. I've been using this since around Windows 3.11. It is very convenient, and my fingers learned what to do decades ago--they now operate without any intuition whatsoever.
- kown7 3y agoI've started swapping ESC and caps-lock first using emacs. However, I feel, if you have a good MX keyboard and press Ctrl with your palm. It is actually really nice
- deafpolygon 3y agoThis highlights the precise reason why Emacs isn't good software - it has refused to adapt to the times.
- deleted 3y ago[deleted]
- rjeli 3y agoThere is a very simple solution to emacs pinky, although it doesn't work on laptop keyboards: pressing the ctrl key with your palm. Whenever I see someone contort their pinky I am shocked that this convenient (and obvious in retrospect) alternative hasn't caught on. http://xahlee.info/kbd/how_to_press_control_key.html http://xahlee.info/kbd/how_to_press_control_key.html
- kazinator 3y agoThat Symbolics keyboard looks like a minor variation on the PC keyboard in some regards. The Control key is in the same wrong general location; it wants to be where Symbolics has Rubout, and where PC keyboards have Caps Lock. Another bad design was the DEC VT100 terminal keyboard. It put Ctrl to the left of a Caps Lock key: [Ctrl][Caps Lock][A][S][D][F]. Yikes! Apple II had this right: [Ctrl][A][S][D][F] Commodore 64: Ctrl weirdly high: [Ctrl][Q][W][E] [Rs][Sl][A][S][D] Ctrl next to Q. Rs = "RunStop", Sl = "Shift Lock". In any case, I need the LeftControl to be somewhere far to the left, just like LeftShift. Here is why: I only use those! I never use RightShift or RightCtrl. When I type Ctrl-Q, Ctrl-W, ... Ctrl-Y, Ctrl-A ... Ctrl-G, Ctrl-Z ... Ctrl-B, I'm always using the left pinky, plus another finger of the same hand. Same with the capitals of those letters: LeftShift with left pinky, plus left hand finger. Whenever I have to use Alt, which is rare, I use LeftAlt, and it's quite awkward with the left side keys due to its position. Here is why I use only LeftShift: from time to time ALL CAPS material occurs, like when typing identifiers such as PTHREAD_MUTEX_INITIALIZER. The only way to type these fast without using the Caps Lock key is to hold down shift with one finger and just type with the remaining nine fingers. Changing between left and right Shift in order to always use the opposite Shift key would be slow and prone to typing mistakes. Once you can type arbitrary material blindingly fast with your pinky holding down the LeftShift key, it makes no sense to think about the existence of RightShift.
- drbaba 3y agoI used to do exactly the same. But then I developed RSI in my left forearm, which I blame on overusing it for all modifier keys (including CapsLock as my only Ctrl and only using left shift). Afterwards, I used a Karabiner Elements script to completely block myself from pressing a left-hand modifier and left-hand letter key simultaneously, forcing myself to learn proper two-hand typing of modifiers. My arm feels better now, and I’ve actually finally appreciating having a Caps Lock key precisely due to the struggle you describe - I’m convinced that two-hand chording is healthier than pressing multiple keys simultaneously with one hand, but at the same time typing e.g. TODO out is then unbearable without a real caps lock key.
- kazinator 3y ago
- User23 3y agoThis is something so obvious that I don’t understand how I’m the first person I know of to say it: The hand is designed to work with the thumb and fingers in opposition. Therefore, modifier keys should go under the thumbs and the other keys under the fingers. Because the thumb can comfortably and easily oppose each of the four fingers it follows that each thumb should have four available modifier keys spaced to match that natural ergonomic. The keyboards with a thumb cluster are a step in the right direction. Sadly, the positioning is suboptimal at best, because the design philosophy treats the thumb as just another stronger finger.
- apricot 3y agoIn my opinion, a keyboard like the Canon Cat, with modifiers centered under the spacebar [1], would be a joy to use: familiar yet more ergonomic. Sadly, very few keyboards use this layout. [1] https://vintagecomputer.ca/wp-content/uploads/2016/04/Canon-Cat-keyboard.jpg https://vintagecomputer.ca/wp-content/uploads/2016/04/Canon-...
- User23 3y agoAnother option that’s crossed my mind is putting the modifiers on the front edge of the board.