Користувачі Vim, де ви відпочиваєте у правій руці? [зачинено]


116

Користувачі давнього часу vim, чи тримаєте ви пальці у звичайному режимі jkl;чи hjklу них?

Стандартне натискання на дотик навчає нас домашньому положенню правої руки вказівним пальцем на jклавіші jkl;.

Але стандартні клавіші руху vim є hjkl.

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

Довгі, хардкорні користувачі vim, яка найкраща практика?


Примітка:

  1. Більше збігання із тим, як дотичні машинописи переміщуються в vi?
  2. Я думаю, що це проходить "суб'єктивний" тест, оскільки йдеться про навмисне вирощування несвідомої найкращої практики, а не просто про перевагу людей

26
Як це не справжнє запитання ? Він запитує, де слід тримати пальці. Це ідеально відповідає.
альтернатива

"Найкраща практика" в цьому випадку суб'єктивна. Люди різні і покладуть руки там, де їм зручно.
Ренді Морріс

1
Я починаю, і у мене є ця сама проблема, jklç (pt клавіатура) краще для кращого введення тексту на клавіатурі комп'ютера. Це відчувається природно. Я не хочу, щоб vim змушував мене вчитися правильному способу набору тексту, який я витратив так багато на навчання та практику.
ancm

1
@RandyMorris Безумовно, люди різні, і вони повинні робити все, що найкраще підходить для них, однак це не означає, що певна практика є кращою у більшості ситуацій. Тож я не купую аргумент, що на це не можна відповісти, оскільки його суб'єктивний, і якщо це дійсно так, то це має бути відповіддю з інформацією, щоб продемонструвати, чому немає чіткої найкращої практики.
jonvw

Відповіді:


118

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


Ось лайно. Я кілька років користувач vim і завжди використовував hjkl для стрілок. Хоча я розумію, що запропонований вами спосіб є більш ефективним, я сумніваюся, що коли-небудь вистачить сміливості перейти на нього.
Михайло Калашніков

2
Боже, що це за нора з кроликом, яку я запустив ...
Джейсон Келлі

16

Вступ

Жоден із попередніх 2 розчинів не був на 100% задовільним. Я пропоную 3-й спосіб, який поєднує в собі найкраще з обох світів

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

Тримайтеся вгору / вниз там, де вони знаходяться, а потім зробіть третій та четвертий пальці вліво та вправо

Потім, щоб не перезаписати базові функції Vim: киньте все, що раніше було увімкнено ; до порожньої кнопки h

Як милий бонус, тепер клавіша " l " означає " ліворуч ";)

noremap lh
noremap; l
noremap h;



Попередні "бігуни", які обидва використовують макет "ліворуч вгору-вправо" :


Вибір 1: "hjkl"

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

  • плюси:
    • j (вниз) і k (вгору) залишаються на первинних 2-х пальцях, де вони цього заслуговують
  • мінуси:
    • Ви повинні дотягнутися за h (зліва) . Навіть якщо це не так, як w, e, b , це все одно кривава кнопка зі стрілками, і було б непогано мати домашній рядок
    • В основному: всі 4 пальці природним чином не спираються на кнопки зі стрілками. Це плутає мою руку


Вибір 2: "jkl;"

Просуньте ці 4 в'язки на 1, щоб вони сиділи в домашньому ряду:

noremap; l
noremap lk
noremap kj
noremap jh

  • плюси:
    • Відсутність плутанини пальців; всі стрілки під пальцями природно
  • мінуси:
    • Як сказала @alternative, перехід вгору / вниз на другому та третьому пальцях дуже "неоптимальний"
    • Аналогічно, найсильніший палець ліворуч - це також марнотратство

1
Дякую. Що стосується вашої рекомендації, єдине, що поки не працює - це перемикання між розщепленнями Ctrl + W + <direction>.
Rafał Cieślak

11

Я тримаю руки на домашньому ряду, у звичайному стилі машиніста. Я рідко використовую h-клавішу для руху, оскільки переміщення одного простору вліво зазвичай не є ефективним способом переміщення (і насправді не відповідає суті Vim).


6

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

Я особисто вважаю за краще дотримуватися підходу, рекомендованого менеджером вікон i3, який, як пояснено у FAQ, Чому конфігурація за замовчуванням використовує jkl; замість hjkl? є ергономічним вибором.

i3 використовує, jkl;оскільки ці клавіші складають "домашній рядок" під правою рукою, коли натискаєте на дотик.

Перевірте це на vim, перезаписуючи hjkl наjkl;


4

Хоча я розумію філософію Віма про те, що весь рух доступний в домашньому ряду, я виявив hjklпротидію інтуїтивності. Набагато більш безпечна карта, з якою я думав, буде налаштованою на WADDijkl

    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

2
Це підозріло звучить як emacs!
rlms
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.