
History of Emacs ＆ vi Keys (Keyboard Influence on Keybinding Design) (2010) - blacktulip
http://xahlee.info/kbd/keyboard_hardware_and_key_choices.html
======
clicks
Interesting that a Xah Lee site has made it to the front page, most of his
stuff had been totally banned on HN.

Ah well. The guy may be a strange individual but he's certainly done good in
proliferating a ton of helpful documentation literature on *nix stuff.

~~~
e40
His rants and trolls on comp.lang.lisp in the heyday of that group were
epic... and annoying. He does seem to have matured somewhat.

------
lubomir
The SysRq key is not so useless as the article would let you believe. Under
Linux, it allows one to send commands to kernel to e.g. reboot the system [1].

[1]:
[https://en.wikipedia.org/wiki/Magic_SysRq_key](https://en.wikipedia.org/wiki/Magic_SysRq_key)

------
nikatwork
> Num Lock on the number keypad also is a relic

Using the numeric keypad as directional arrows can be more comfortable when
gaming. I personally prefer to use it as arrows when gaming and numbers when
working. I would not buy a keyboard lacking a Num Lock key.

~~~
mjn
A lot of older games would map the numbers 2/4/6/8 as aliases for the arrow
keys, so it'd work regardless of what position the numlock was in. Seems to
have gotten less common.

~~~
siddboots
Quake 1 did this, iirc. From what I remember, game studios around that time
played around with different bindings, but generally stuck with keyboard only
bindings by default, because mouse+keyboard was still considered an "advanced
user" technique. For the most part, game makers _adapted_ to how the users
were playing (WASD) rather than setting a standard and expecting users to
follow.

------
siddboots
> ... vi's {H J K L} is still pretty good, but better is {I J K L}...

You've got some _nerve_ , guy.

~~~
LanceH
Moving off the home keys is nothing short of awful. After 15 years of using vi
daily (but not as my primary editor) I still can't switch to it for just this
reason.

~~~
CatMtKing
IJKL doesn't move you off the home keys though.

------
asdfs
I do wish that it had been 'JKL;' instead of 'HJKL'. Pulling my fingers from
their resting position has always bothered me.

~~~
lcedp
The ; default binding is very usefull in navigation too.

Anyhow you shouldn't need `h` often.. Using b, F, T, ge, gE, ^, 0 is much
faster.

------
chao-
Using this to bring up something related, which I have always wondered: How do
you orient your hands when performing ⌘+Z/X/C when using a Mac keyboard? Which
finger presses the ⌘?

Having used Windows as a child and Linux for many years since, I'm sure a
large part is "you get used to whatever you use". However, any time I borrow a
friend's Apple laptop to demonstrate something, I always waste a few cycles
thinking about just how I should really be dealing with the keyboard, and
never really settle on an answer.

At its core, I love _the idea_ of the ⌘ key: Something for shortcuts in GUI
applications so that Ctrl can remain for sending Unix Signals. But it's
position, combined with the lack of discrete Home, End, PgUp, or PgDn, is a
majority of what keeps me from buying a Macintosh laptop. Also the whole
function key deal. The keyboard is such an important source of my
productivity.

~~~
zarify
I tend to just thumb it (the left side one, I only tend to use the right one
for the command-delete trash shortcut), same as I do with alt- shortcuts on
Windows layout keyboards. I find the mental shift from using command on OS X
to Ctrl on Windows pretty easy to do, but then I spend a lot of time on both
platforms.

One of the things I find quite difficult to mentally adapt to when switching
is the behaviour of the Enter key, since in Windows it is open, and in OS X it
is rename (which I find much more useful, since you can command-down arrow to
open which is used for folder navigation with command-up for opening the
parent folder).

There are a bunch of little-advertised command key shortcuts for Home, PgUp,
etc too, so you figure out a way to make it work pretty quickly (some work
inconsistently though, I tend to mainly use the word/line based stuff rather
than page/document). See [http://ss64.com/osx/syntax-
keyboard.html](http://ss64.com/osx/syntax-keyboard.html) .

~~~
chao-
_> One of the things I find quite difficult to mentally adapt to when
switching is the behaviour of the Enter key, since in Windows it is open, and
in OS X it is rename (which I find much more useful, since you can command-
down arrow to open which is used for folder navigation with command-up for
opening the parent folder)._

For future reference, you can rename in Windows/Linux using F2. Works in
Windows Explorer, and in most Linux file browsers that I have tried, though
who could ever claim to have used them all? ;)

As for [Modifier]+Down to enter a folder, that makes a lot of sense and I like
it. The last time I used a Windows machine (Win7 I think), I noticed that they
had finally adopted Alt+Arrow navigation in Explorer. Alt+Up goes to the
parent folder, same as Linux (and OS X it seems!), and Alt+Left/Right goes
backward/forward in folder history. I'll probably try and add Alt+Down to one
of my Linux file managers sometime, because it makes much more sense than
having to switch to Enter for going into something, and Alt+Up to go back out.

~~~
zarify
Thanks for that, I didn't know about Alt-Up (and had always been annoyed at
the removing of the parent directory button in Win7). F2 is one I'll have to
remember too. Context menus and click-pause-clicks are annoying.

------
zarify
Huh. Odd that he reckons IJKL would be better for vim keys considering you'd
have to use the same finger for up and down, while using HJKL you can use
different fingers for up and down as well as left and right.

~~~
xahlee
here's what i think. in both ijkl and hjkl, you have one finger doing 2 keys.
In vi, it's pointing finger doing hj, moving side ways. In ijkl, it's middle
finger doing up down. So i think ijkl is slightly better. I remember seeing
similar analysis on coleman forum.

~~~
zarify
I see what you mean about the 1 finger 2 keys bit, but I find I tend to either
be moving up and down lines or left and right in a line. With HJKL I'm then
using two separate fingers for navigation horizontally and vertically. If I
used IJKL I'd be using a single finger when moving vertically and two fingers
horizontally.

I'm curious as to what people who spend more time in vim than I do think about
that. Personally it seems more comfortable to be using different fingers
rather than shifting when going up/down.

------
johnchristopher
That vi keyboard is bleeding minimalism in constrast to the lisp keyboard.

~~~
penguindev
Yep, and notice where the ctrl is. I just mapped my caps lock to control a few
days ago (mac os makes it super easy to do this), and I love it. I should have
done it friggin ages ago.

I also started using the leader key (\\) in vim, another thing long overdue.
That's in an easy location on that old keyboard too.

~~~
johnchristopher
I rarely use the CTRL key in vim and unfortunately my CAPSLOCK key is bound to
SUPER for easy tag switching in awesome-wm. I think I am missing on some of
vim's core features because of that. I already saw huge improvements when
switching to US-International layout and it smoothed things in vim too.

Free tip:

    
    
        ~ $ echo 'imap jj <ESC>' >> .vimrc
    

jj being a rare combination in insert mode it makes a nice pinky-safe ESC
move.

------
Zakharov
What annoys me is keyboards that don't have a pause music button, but have a
pause button that does precisely nothing.

------
ghosTM55
Awesome!

