By Xah Lee. Date: 2014-05-04. Last updated: 2024-08-19.
Which is More Efficient: HJKL vs IJKL
vi 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.

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:
I 0.8 H J K L 0.5 0.9 1 0.7Consider Command Frequency
now look at these command's frequency.
↑ | previous-line | 15.48 |
↓ | next-line | 17.10 |
← | backward-char | 3.23 |
→ | forward-char | 5.51 |
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:
- ↑ 1.5%
- ↓ 2%
- ← 1%
- → 1%
Arrow Keys Efficiency Calculator
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)
- Vi:
- Inverted T:
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

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.
Conclusion
Inverted T is slightly better. The winning point is when considering bigram. vi's way is especially bad when you have frequent left/right movement.