I was reading about vim the other day and found out why it used hjkl keys as arrow keys.

When Bill Joy created the vi text editor he used the ADM-3A terminal, which had the arrows on hjkl keys. Naturally he reused the same keys and the rest is history.

Here is how the hjkl keys looked.

ADM-3A keyboard's hjkl keys with arrows.

And here is how the the whole terminal that vi was created on looks like.

Lear Siegler's ADM-3A computer terminal.

Since vim is derived from vi, it uses the same hjkl keys.

And while we're at it, notice where the ESC key is positioned. ESC is where TAB is on modern keyboards.

Lear Siegler's ADM-3A computer terminal's full keyboard.

That's why the ESC was used to change between vi modes – it was so close and easy to reach.

Also ever wondered why home directory is ~ in UNIX? Look at the HOME key in upper right corner.

Mind = blown.

Bonus: Why Emacs uses the Meta key

Inspired by the success of this post, I wrote a similar post about Why Emacs uses the Meta key.

Bonus: HJKL T-Shirt

Now you can wear vim arrow keys! I just created a limited edition hjkl t-shirt. Only 100 shirts available.

Update: Sold out and no longer available.

See you next time!