Email or username:

Password:

Forgot your password?
Top-level
Bart Groeneveld

@b0rk That is also another hint for the 'j' in vim: go down one line, just like ctrl+j does in a terminal. Or is this just a coincident?

4 comments
Gomijacogeo

@bartavi A bit of both plus a decision by an early terminal manufacturer. catonmat.net/why-vim-uses-hjkl

ASCII had already defined the codes and 8 (aka ^H or backspace) and 10 (aka ^J or linefeed) already had a kind of intrinsic left- and down-ness to them. 11 and 12 (^K and ^L, or vertical tab and formfeed) kind of implied motion, but had more meaning when terminals printed to paper rather than a screen.

The folks at LS decided since your fingers were already there, why not complete the arrow set.

@bartavi A bit of both plus a decision by an early terminal manufacturer. catonmat.net/why-vim-uses-hjkl

ASCII had already defined the codes and 8 (aka ^H or backspace) and 10 (aka ^J or linefeed) already had a kind of intrinsic left- and down-ness to them. 11 and 12 (^K and ^L, or vertical tab and formfeed) kind of implied motion, but had more meaning when terminals printed to paper rather than a screen.

_L4NyrlfL1I0

@bartavi @b0rk Likely coincidence. Have a look at "man ascii" and look at characters Decimal 1 to 26. Those are for the most part what you will get if it doesn't already do something special (like Ctrl+C).

For example, Ctrl+H is character 8, which is backspace (but only the backspace character). Ctrl+I is a tab, and Ctrl+J is a newline '\n'. (This means Ctrl+M is actually a carriage return '\r', but your os likely translates both into '\n' in the input that your terminal programs receive).

_L4NyrlfL1I0

@bartavi @b0rk I'm not actually completely sure what's going on with Ctrl+J and Ctrl+M, need to test that further.

Mark Eichin

@bartavi
Not a coincidence, just very specific history

Go Up