Пользователи Vim, где вы отдыхаете правой рукой?

Давние пользователи VIM, вы держите свои пальцы на jkl; или же hjkl в обычном режиме?

Стандартная сенсорная печать учит нас исходному положению правой руки, на которой указательный палец j ключ, так что ваши пальцы на jkl;,

Но стандартные клавиши управления движением vim hjkl,

Я возвращаюсь в vim через 10 с лишним лет (о боже мой, я состарился, когда не обращал внимания) и обнаружил, что тяготею к hjkl... но это усложняет ввод букв в верхнем правом углу, фигурных скобок и т. д. Я хотел бы научить себя использовать самый эффективный / прагматичный метод сейчас, а не переучивать его позже.

Давние, хардкорные пользователи vim, что лучше?


Замечания:

  1. Больше совпадений с тем, как сенсорные машинистки ориентируются в vi?
  2. Я думаю, что это проходит "субъективный" тест, потому что речь идет о намеренном культивировании бессознательной передовой практики, а не просто о предпочтениях людей

5 ответов

Решение

Я думаю что jkl; на самом деле более подходящее использование для vi. Для одного, h а также l на самом деле не так важно. w, e, а также b значительно более полезны для горизонтальной навигации. В качестве бонуса, ; легко получить, если язык требует этого. Слабый палец на k болит, и тебе не нужен твой самый сильный палец на hкогда это должно быть на j который, вероятно, является наиболее используемым из четырех.

вступление

Ни одно из предыдущих 2 решений не было на 100% удовлетворительным. Я предлагаю третий способ, который сочетает в себе лучшее из обоих миров

Моя рекомендация: "вверх-влево-вправо"

Держите вверх / вниз, где они есть, затем сделайте 3-й и 4-й пальцы влево и вправо

Затем, чтобы избежать перезаписи базовых функций Vim: бросьте все, что было раньше ; к пустой кнопке h

В качестве милого бонуса клавиша " l " теперь означает " влево ";)

Noremap LH
карта норм; L
Северная карта h;



Предыдущие "вторые", которые используют макет "влево-вверх-вправо":


Выбор 1: "ХЙКЛ"

@ альтернативная рекомендация. Связки клавиш остаются по умолчанию (hjkl), правая рука остается в исходном ряду (jkl;)

  • плюсы:
    • j (вниз) и k (вверх) остаются на ваших основных 2 пальцах, где они заслуживают
  • минусы:
    • Вы должны дотянуться до ч (слева). Даже если это не так широко, как w, e, b, это все равно кровавая кнопка со стрелкой, и было бы неплохо иметь на домашнем ряду
    • В основном: все 4 пальца не покоятся на кнопках со стрелками. Это смущает мою руку


Выбор 2: "JKL;"

Сдвиньте эти 4 привязки на 1, чтобы они сели на домашний ряд:

карта норм; L
Noremap LK
Северная карта КДж
Noremap JH

  • плюсы:
    • Нет путаницы пальцев; все стрелки естественно под пальцами
  • минусы:
    • Как сказал @alternative, вверх / вниз на 2-м и 3-м пальце очень "неоптимально"
    • Точно так же самый сильный палец на левой стороне также является пустой тратой

Я держу руки на домашнем ряду, в обычной манере касания. Редко я использую клавишу h для перемещения, так как перемещение на одну позицию влево обычно не является эффективным способом перемещения (и на самом деле не соответствует сущности Vim).

Я это понимаю hjkl используется по историческим причинам (т. е. вот почему vim использует клавиши hjkl в качестве клавиш со стрелками) и не основан на каком-либо эргономическом обосновании.

Лично я предпочитаю придерживаться подхода, рекомендованного оконным менеджером i3, который, как объяснено в FAQ, почему в конфигурации по умолчанию используется jkl; вместо хйкл? это эргономичный выбор.

i3 использует jkl; потому что эти клавиши составляют "домашний ряд" под правой рукой при сенсорном наборе.

Проверьте это на vim, переназначая hjkl на jkl;

Хотя я понимаю философию Vim о том, что все движения доступны в домашнем ряду, я обнаружил, что hjkl быть противоинтуитивным. Гораздо более разумная карта, которую я думал, будет похожа на вас ijkl

    nnoremap j h
    nnoremap k j
    nnoremap i k

Я обнаружил, что с этим очень легко ориентироваться.

j:left
i:up
k:down
l:right

Для включения / выключения / нормального режима я лично использую Alt-e так как я почти всегда использую Gvim и не должен беспокоиться, что у некоторых терминалов есть проблемы с Alt.

    nnoremap <A-e> i
    inoremap <A-e> <esc>l
Другие вопросы по тегам