В vim, почему «j» используется для «вниз», а «k» для «вверх»? - PullRequest
61 голосов
/ 02 июля 2011

Я использую vim уже много лет и никогда не задумывался об этом.Мой друг спросил, почему это так, заметив, что в нашей культуре left обычно отображает вверх, а right - вниз, делая клавиши vim назад.Я понимаю, что они находятся в домашнем ряду, что означает, что вам не нужно никуда двигать пальцами, чтобы ударить их, но это совсем другое дело.По сути, мой вопрос: кто-нибудь знает, почему эти ключи были даны в их нынешних целях?Было бы здорово, если бы вы также указали мне на документацию по этому решению.

Ответы [ 6 ]

87 голосов
/ 02 июля 2011

Ответ находится в записи в Википедии для vi . Билл Джой, который написал визуальный режим ex - который в итоге оказался предшественником vim vi - использовал терминал Lear Siegler ADM3A, на котором клавиши H, J, K, L отображались влево, вниз, вверх, вправо - и это было то, что с тех пор.

Вот раскладка клавиатуры:

enter image description here

Несколько других замечаний по макету ADM3A:

  • Слева от Q: клавиша выхода - несколько удобнее, чем на сегодняшней клавиатуре, поэтому это хороший выбор для переключения между обычным и вставным режимами.
  • Вверху справа: клавиша 'Home' удваивается как тильда (~), которая впоследствии стала сокращением для домашнего каталога пользователя Unix.
19 голосов
/ 02 июля 2011

vimtutor обеспечивает мнемонику, что 'J' выглядит неопределенно как стрелка, указывающая вниз, хотя это может быть, а может и не быть первоначальной причиной, по которой он был выбран.

13 голосов
/ 02 июля 2011

Это общее предположение, но: Ctrl + J - это символ «перевода строки», который на традиционном TTY перемещается вниз на одну строку, обеспечивая мнемонику. K находился прямо рядом с ним на клавиатуре Qwerty, под вторым наиболее часто используемым пальцем на правой руке, когда он находился в исходном положении.

2 голосов
/ 05 апреля 2017

С точки зрения пользовательского опыта, после открытия файла вы всегда сначала перемещаетесь вниз , а перемещение вниз обычно - более частая операция . Поскольку слева направо является естественным направлением для большинства из нас, имеет смысл связать задачу, которую вы выполняете сначала или чаще, с клавишей слева. Вы можете попытаться переключить 2 клавиши и попытаться определить, какой путь лучше. Для меня «J» для пуха более естественный и удобный.

1 голос
/ 29 марта 2018

Это объясняется, если вы запускаете vimtutor в терминале.Там написано:

Клавиша h находится слева и двигается влево.

Клавиша l находится справа и перемещается вправо.

Клавиша j выглядит как стрелка вниз.

1 голос
/ 27 декабря 2013

Я всегда думал, что это потому, что на макете DVORAK j и k также расположены рядом друг с другом.Там не так много ключей, которые имеют это свойство как на DVORAK, так и на A / QWERTY / Z

...