The problem with using vim to support such claims is that it doesn’t actually work: HJKL keys were not researched in extreme depth and proven to be the best keys to use as arrow keys in qwerty keyboards, they just happened to be the arrow keys on the one terminal that the person that wrote vi was using 12
Yeah, I don’t get why we keep preaching HJKL in vim. I use JKL; instead (down up left right respectively) and I don’t have to lift my fingers from home row and left / right are on the “weaker” fingers, because I don’t typically use them as often as up / down.
I agree with the parent comment, HJKL was not researched, and might not be the absolutely best ever. At this point it would less useful for me to use something other than HJKL. Muscle memory is too ingrained.
And even if I took the time really learn another key combination there would be tons of programs that still assume HJKL.
The foundation might be wonky, but we are not going to tear down the house and rebuild it.
Within significant technological constraints of metallurgy, plastics, and mechanics that now offer vastly different tradeoffs. Even the language is different: when’s the last time you saw a semicolon outside of code?
The clauses aren’t independent. Actually that form is specifically used for dependent clauses. For example, “I use them all the time, more than before.” The base “I use them” applies to both parts: “I use them all the time” and “I use them more than before.” But “I use them much better than comma splices” doesn’t make any sense, so that’s not what’s happening here. Forty-Bot is omitting “they are”—typically handled with an emdash, or parentheses if the additional content has only minor significance.
For a semicolon to apply, “they are” must be included to create a second independent clause:
I use them all the time; they’re much better than comma splices.
Using a comma instead of an emdash is mildly incorrect, but widely accepted in conversational writing. Since Forty-Bot explicitly called out the comma, I only pointed out the comma would be more appropriate. Though an emdash would be most appropriate. Semicolons see little use because conversational writing favors such omissions.
I have a Pok3r keyboard, and have configured it to use the Caps Lock key as a function modifer for HJKL so I can move around like I do with NeoVim. I enjoy it so much that I had trouble typing on the regular keyboard when I was away from my desk. So I used Karabiner Elements to do the same mapping; with Caps Lock acting as an FN key and HJKL as the arrow keys.
I get that, but I have 26 years of personal history with cursor keys in the shape of an inverted T. Besides, I only have to move one finger off the home row.
Actually, with HJKL you have to shift four fingers one key to the left from the touch typing position, whereas with IJKL it’s just one! Anyway, I’m being pointlessly pedantic here :)
I have a layer of navigation (arrows, page up/down, home/end) plus formatting (delete, backspace, space, tab) all accessible with my left hand in the home position. here’s an image of my L1 layer. As a bonus my right hand has pairs of coding punctuation on this layer.
At least for German speakers (writers?) I can’t recommend the neo2 keyboard layout enough, which does contain the arrow keys on level 4 (one modifier) in a very similar position, togeher with all the other control characters (enter, escape, tab, page up/down, start, end, etc.).
To me, this post supports having a ThinkPad-style trackpoint in the center of the keyboard.
In place of arrow keys, I use emacs style text navigation, perhaps that’s a similar solution to the problem?
My proposal was meant to be a qwerty keyboard with multiple trackpoints embedded in it. Thinkpad keyboards have a single trackpoint embedded between the G, H, and B keys (“position GHB”).
Ten trackpoints is too many–right? I am certain how I’d use four: to zoom/rotate in 3D space; I’d use two index fingers and two thumbs.
Even though I do have the ability to move each of my fingertips individually, ten is too many, right…? I can’t imagine what kind of input action would require that many 2D analog input at once… Any ideas?
Mac OS has C-b, C-f, C-p, C-n keys working as cursor keys almost everywhere out of the box. Not so convenient, however. I wonder from where these keybindings inherited, the same keybindings are used in Emacs.
The problem with using vim to support such claims is that it doesn’t actually work: HJKL keys were not researched in extreme depth and proven to be the best keys to use as arrow keys in qwerty keyboards, they just happened to be the arrow keys on the one terminal that the person that wrote vi was using 1 2
Yeah, I don’t get why we keep preaching HJKL in vim. I use JKL; instead (down up left right respectively) and I don’t have to lift my fingers from home row and left / right are on the “weaker” fingers, because I don’t typically use them as often as up / down.
I agree with the parent comment, HJKL was not researched, and might not be the absolutely best ever. At this point it would less useful for me to use something other than HJKL. Muscle memory is too ingrained.
And even if I took the time really learn another key combination there would be tons of programs that still assume HJKL.
The foundation might be wonky, but we are not going to tear down the house and rebuild it.
I think … maybe we could do better than that?
My 1u space key suggests you might be right.
I take this approach much further than this. And make every single key on my keyboard a custom modifier key. 🙂
That keyboard mapping is something else. I’m not sure it would work for me, but I’m going to keep that idea in my pocket.
Within significant technological constraints of metallurgy, plastics, and mechanics that now offer vastly different tradeoffs. Even the language is different: when’s the last time you saw a semicolon outside of code?
One of my goals in life is to be able to properly use a semicolon in the normal course of my writing; it’s not as hard as you would think.
I often use them in SMS; I see it as a kind of challenge.
A colon or plain period would be more appropriate than semicolon here.
I use them all the time; much better than comma splices.
Ironically this would not have been a comma splice, and a comma would be more appropriate.
What is your criteria for a comma over a semicolon? It looks good to me.
The clauses aren’t independent. Actually that form is specifically used for dependent clauses. For example, “I use them all the time, more than before.” The base “I use them” applies to both parts: “I use them all the time” and “I use them more than before.” But “I use them much better than comma splices” doesn’t make any sense, so that’s not what’s happening here. Forty-Bot is omitting “they are”—typically handled with an emdash, or parentheses if the additional content has only minor significance.
For a semicolon to apply, “they are” must be included to create a second independent clause:
Using a comma instead of an emdash is mildly incorrect, but widely accepted in conversational writing. Since Forty-Bot explicitly called out the comma, I only pointed out the comma would be more appropriate. Though an emdash would be most appropriate. Semicolons see little use because conversational writing favors such omissions.
Thank you for the reply, this is very informative.
Semicolons are also useful for: separating list elements, when they contain commas; showing off, often in language discussions :)
I have a Pok3r keyboard, and have configured it to use the Caps Lock key as a function modifer for HJKL so I can move around like I do with NeoVim. I enjoy it so much that I had trouble typing on the regular keyboard when I was away from my desk. So I used Karabiner Elements to do the same mapping; with Caps Lock acting as an FN key and HJKL as the arrow keys.
It is wonderful.
This is very convenient when working with code or text, thanks - except I set up IJKL to be the cursor keys.
The reason they chose hjkl is that it is historical, and with good reason. You never take your fingers off of the home row.
I get that, but I have 26 years of personal history with cursor keys in the shape of an inverted T. Besides, I only have to move one finger off the home row.
Actually, with HJKL you have to shift four fingers one key to the left from the touch typing position, whereas with IJKL it’s just one! Anyway, I’m being pointlessly pedantic here :)
I have a layer of navigation (arrows, page up/down, home/end) plus formatting (delete, backspace, space, tab) all accessible with my left hand in the home position. here’s an image of my L1 layer. As a bonus my right hand has pairs of coding punctuation on this layer.
I used to play a lot of first person shooters. wasd is far easier for me to use as arrows.
At least for German speakers (writers?) I can’t recommend the neo2 keyboard layout enough, which does contain the arrow keys on level 4 (one modifier) in a very similar position, togeher with all the other control characters (enter, escape, tab, page up/down, start, end, etc.).
To me, this post supports having a ThinkPad-style trackpoint in the center of the keyboard. In place of arrow keys, I use emacs style text navigation, perhaps that’s a similar solution to the problem?
How about a total of ten trackpoints?
My proposed positions:
Take that, multi-touch screens!
Wasn’t that the datahand?
Each finger could move four directions and press a button.
Thanks for that link!
My proposal was meant to be a qwerty keyboard with multiple trackpoints embedded in it. Thinkpad keyboards have a single trackpoint embedded between the G, H, and B keys (“position GHB”).
Ten trackpoints is too many–right? I am certain how I’d use four: to zoom/rotate in 3D space; I’d use two index fingers and two thumbs.
Even though I do have the ability to move each of my fingertips individually, ten is too many, right…? I can’t imagine what kind of input action would require that many 2D analog input at once… Any ideas?
Edit: substantial edit, my bad.
Mac OS has
C-b,C-f,C-p,C-nkeys working as cursor keys almost everywhere out of the box. Not so convenient, however. I wonder from where these keybindings inherited, the same keybindings are used in Emacs.They’re mnemonics: back, forward, previous (line), next (line). I recognize them from Emacs.
See also: http://brettterpstra.com/2017/06/15/a-hyper-key-with-karabiner-elements-full-instructions/