Arrow Keys Arrangement Efficiency: vim HJKL vs IJKL

By Xah Lee. Date: . Last updated: .

vim use {h j k l} keys to move cursor. Another approach is Inverted T {i j k l}. This page investigates which is more efficient.

ADM 3A terminal layout 6aec4
The ADM-3A terminal keyboard layout. [see History of vi Keys]

Considering Key Ease of Press

Let's assign score to key positions with respect to ease of key press. Let's set k to have the max score of 1. We'd have something like this:

  H     J     K     L
 0.5   0.9    1    0.7

Consider Command Frequency

now look at these command's frequency.

Emacs Cursor Commands Frequency

Note: this stat counts multiple times of a key when it is held down. For example, if down arrow key is held for 1 second, it may repeat 10 times, and is counted as 10 times.

Also, this frequency counts emacs commands that move cursors up/down one line or left/right one char. These commands are bound to arrow keys, but also to C-p, C-n, C-b, C-f. It is not a log of actual arrow key press. [see Emacs Command Frequency Statistics]

A more realistic frequency stat of arrow keys might be this:

Compute Efficiency Score

Multiply a key's ease score by its frequency, and sum all key's scores, we get the efficiency score of a keybinding.

Key Ease Score (1 to 10. Bigger means easier)

Command Frequency (1 to 10. Bigger = more used)

Score (bigger is better)

Try to adjust the key score or command frequency.

Overall, Inverted T wins slightly.

This test only considers ease of each key press. For just these 4 keys, this simple measure can be considered a reasonable test of efficiency. But note that a robust test should also consider bigram frequency. [see What is the Most Efficient Keyboard Layout?]

Considering Bigrams

google pacman
Google Pacman

vi has h moved away, while inverted T has the i moved away. Which one is better? I think if you consider this, then the inverted T is better. Because, consider all 2-key combinations involving the one key that's moved away. The vi way, involving a moved index finger left/right for , is more costy than the moved middle finger up/down. This with vi is pretty bad. This can be easily seen when playing pacman.

Considering Intuitiveness

Another factor is intuitiveness. The inverted T is more intuitive. vi's row arrows require learning. That's one big win for inverted T.


Inverted T is probably slightly better. The winning point is when considering bigram. vi's way is especially bad when you have frequent left/right movement.

Keybinding and Input-System

HJKL keys and vi

Arrow Keys