Эту глупую мантру часто повторяют машинистки на ощупь, для которых домашний ряд похож на второй позвоночник, или машинистка на ощупь, которые хотят выглядеть круто. Для тех, кто не печатает на ощупь, домашний ряд просто не такой уж особенный, и легкое перемещение правой руки для достижения стрелок вообще не проблема.
Важно учитывать то, что люди, которые повторяют эту мантру, предлагают использовать вместо этого.
Большую часть времени они настаивают на использовании hjkl
.
Если мы упустим тот факт, что эти клавиши используются только потому, что на клавиатуре, использованной автором vi, не было физических клавиш со стрелками и, таким образом, любой аргумент против клавиш со стрелками является просто рационализацией, hjkl
в любом случае лишь немного лучше, чем стрелки. Да, единственное преимущество использования hjkl
над стрелками состоит в том, что вы пропускаете это небольшое движение правой руки к стрелкам и от них. Стоит ли эта выгода - ваш звонок.
Но это движение правой руки не является причиной того, что использование только стрелок неэффективно. Это неэффективно, потому что они ограничивают вас, чтобы перемещать символ за символом и строку за строкой, в то время как большая часть движения, необходимого для редактирования текста, имеет гораздо больший диапазон.
Удар правой стрелки 13 раз неэффективен и скучен. Является ли это , что лучше забивать l
ключ 13 раз? Нет, это одинаково глупо.
Удерживание стрелки вправо до достижения цели менее скучно, но подвержено ошибкам и почти так же неэффективно, как 13 попаданий, из-за необходимого и недетерминированного замедления в конце. Является ли это , что лучше держать клавишу нажатой l
Нет, конечно нет.
К счастью, большинство GUI-инструментариев предоставляют такие комбинации, как Ctrl+Right
которые позволяют нам перемещаться слово за словом или переходить к EOL, к следующему абзацу или как угодно. Эти ярлыки помогают нам перемещаться намного быстрее и разумнее, чем с помощью одной стрелки. У нас то же самое с hjkl
? Нет, мы не Мы можем использовать счет, если мы хотим, но кто хочет считать символы для каждого движения? Делать 14k
с помощью relativenumber
- это здорово, но как насчет горизонтальных движений? Для больших движений hjkl
на самом деле хуже, чем модификаторы + стрелки. И угадай что? Большие движения - это то, что нам нужно больше всего.
Но мы счастливчики, наш любимый редактор имеет множество движений, которые вращаются вокруг стрелок и hjkl
: bBeEwW/?*#{}()
и так далее. Эти команды неизмеримо более мощные, чем hjkl
и по большей части гораздо более логичные и интуитивно понятные, если вы привыкли к Ctrl+Right
и друзьям.
Переход от <Right><Right><Right><Right><Right><Right><Right><Right><Right>
для lllllllll
или даже 9l
до смешного бессмысленно.
Переключение с <Right><Right><Right><Right><Right><Right><Right><Right><Right>
на <C-Right>
значительно лучше. Оттуда переключение на w
происходит легко и быстро. Не нужно <nop>
ваши стрелки!
Если эти команды более полезны, более мощны и интуитивно понятны, чем hjkl
, почему, черт возьми, так много блоггеров и комментаторов настаивают на замене стрелок на hjkl
?
Я имею. Без понятия.
В заключение, у hjkl
есть свое место в нашем инструментальном поясе, потому что мы всегда должны двигаться на 2 символа или строки, но они чаще, чем дерево, скрывающее лес. Остерегайтесь людей, проповедующих против стрел: то, что они приготовили для вас, может быть вовсе не лучше.