Розміщення рук для навігації Vim


12

Я новий користувач Vim, і я хочу задати це дещо елементарне запитання, щоб переконатися, що я почав навчатися Vim правильним чином і не розвивати шкідливі звички.

Як ви використовуєте Vim, як ви позиціонуєте праву руку? Мені здається, більш природно починати з пальців по jkl;клавішах, але потім мені здається, що мені не вистачає hключа, коли я переходжу. І навпаки, якщо я розміщую свої пальці, hjklто я вважаю себе затуманеними словами, оскільки це не те положення, в якому я був навчений тримати руку на клавіатурі, і мені здається, що перемикання jkклавіш середнім і третім пальцем є незручним.


6
Однозначно тримайте пальці j,k,l,;. Для одного, ви навчитесь бити hв найкоротші терміни. По-друге, коли ви краще знаєте vim, ви не будете використовувати hвсе так багато насправді. По-третє, зв’язки клавіатури здебільшого визначаються з урахуванням цього положення руки, тому ви просто торгуватиметесь однією проблемою для іншого набору проблем у довгостроковій перспективі.
PhilippFrank

3
Не турбуйся. Vim отримав набагато кращі команди руху курсору, ніж hjkl. Див :help navigation.
romainl

Відповіді:


12

Перш за все, я припускаю, що ви використовуєте клавіатуру QWERTY. Моя відповідь не ґрунтується на моїх особистих уподобаннях, я просто переформулюю частину дивовижного Практичного Vim написаного Дрю Нілом.

TL; DR Vim оптимізований для друкарських машинок на дотик, тому ваші руки повинні залишатися там, де ви навчились їх класти: ліва рука asdf та права рукаjkl;

Ніл каже, що покласти праву руку hjkl- це дуже погано. Основна причина полягає в тому , що переміщення курсору за допомогою клавіш hjklє те , що повинно бути дуже випадковим , так як ВІМ забезпечує набагато швидше словампереключает руху або руху пошуку символів ( w, b, f, t, /...).

Я також прямо цитую цю частину:

Я використовую клавіші hі lдля поодинкових помилок, коли я пропускаю ціль. Крім того, я їх навряд чи торкаюся. З огляду на те, як мало я використовую hклавішу, я радий розтягнути її на клавіатурі Qwerty. З іншого боку, я часто використовую команди пошуку символів, тому мені приємно, що; клавіша зручно лежить під мізинцем.

Бонус: Навіть якщо це не здається вашим випадком, ось порада позбутися шкідливої ​​звички для початківців, що полягає у використанні клавіш зі стрілками для переміщення: Просто додайте наступні рядки до свого, .vimrcщоб повністю відключити клавіші зі стрілками:

noremap <Up>    <Nop>
noremap <Down>  <Nop>
noremap <Left>  <Nop>
noremap <Right> <Nop>

( <Nop>розшифровується як "Без операції")


5
У «ключі hjkl використовувати, стрілка ключі лукаві» -dogma є сильним в співтоваристві Vi / Vim, але в багатьох відношеннях це також нерозумно один. Окрім того, що я зовсім не впевнений, що насправді це швидше у всіх сценаріях, навіть якби це було, чи справді це найважливіше в навчанні Віму? Або є інші речі, які заощадять вам набагато більше часу (наприклад, рухи, робота з позначками, регістри, основи VimScript тощо) .... Все "hjkl" -це все в кращому випадку схоже на мікрооптимізацію.
Мартін Турноїй

4
Я використовую комп’ютери ~ 30 років. Кожні 5 років або близько того я поновлюю свої спроби навчитися вводити "правильно". Поки щоразу, коли я робив це, я також розвивав гострий синдром зап'ястного каналу протягом перших кількох днів. І кожного разу симптоми згасали, як тільки я здавався і повертався до своїх старих звичок. Я також займався єдиноборствами близько 40 років і ніколи не мав жодних спільних проблем. Мої звички включають використання клавіш зі стрілками та багато рухати руками під час набору тексту. hjklРіч ніколи не допоміг мені. Що допомогло, це придбати якісні механічні клавіатури. FWIW.
lcd047

Я відповів на запитання, тому що прочитав це не так давно і відчув, що це добре відповідає потребі ОП. Що стосується розміщення рук, французький Я використовую клавіатуру AZERTY, тому питання насправді не існує: у мене ліва рука, hjklоскільки клавіша праворуч l- mце зовсім марно. Щодо оптимізації використання цих клавіш для навігації, я намагаюся змусити себе використовувати рухи якомога більше, але я все ще часто користуюся hjkl, я все ще відчуваю, що це швидше, ніж клавіші зі стрілками, але я думаю, що це досить суб'єктивна тема.
statox

Я хочу збалансувати коментар @ lcd047, сказавши, що я маю цілком протилежний досвід. Я кілька років намагався доторкнутися до введення тексту, зберігаючи ковзання назад до старих звичок, поки я не почав використовувати vim. Для мене однією з переваг використання vim є те, що його система навігації та команд простими клавішами, наприклад jkl;, змушує вас тримати руки в хорошій сенсорній позиції для набору тексту для навігації по тексту. Зараз я набагато швидший і точніший машиніст.
Андреас
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.