Є багато варіантів. Один з варіантів, і IMO найбезпечнішим і найпростішим - просто припинити відключення клавіш зі стрілками. Я розумію, чому багато хардкорних виммерів говорять такі речі
Ніколи більше не слід використовувати клавіші зі стрілками! Кожного разу, коли ви використовуєте клавіші зі стрілками, ви витрачаєте 3 хвилини часу, цуценя гине і хтось переходить на Emacs!
(Очевидно, я жартую) Однак для клавіш зі стрілками є мета. Вони надзвичайно корисні для навігації:
У режимі вставки
У командному рядку
Як правило, коли люди говорять вам не використовувати клавіші зі стрілками, це тому, що вони хочуть, щоб ви навчились навігації більш виразно. Якщо вам зручно hjkl
і ви в основному використовуєте клавіші зі стрілками в режимі вставки, немає жодної вагомої причини змусити себе не користуватися ними.
Варіант №2 полягає в повторному переробці, ctrl-hjkl
щоб діяти як клавіші курсору. Це приємно, тому що ви можете залишитися на дому, і він добре поєднується з м'язовою пам’яттю, яку ви вже навчились, використовуючи hjkl
в звичайному режимі. Насправді це я і роблю . Основним недоліком у цьому підході є те, що може бути больовим налаштування у терміналі vim, оскільки <C-j>
виробляє NUL
байт. Я долаю це, використовуючи Gvim. Мені невідомо, чи є легке виправлення vim для консолі чи ні.
Варіант №3 - використовувати <C-o>
для здійснення невеликих рухів у звичайному режимі. Наприклад, якщо ви набираєте текст
Hello world!
cursor^
і ви розумієте , що ви забули кому, а не робити leftleftleftleftleftleft, ви могли б просто зробити <C-o>b<C-o>h
або <C-o>2Fo
, або будь-яку іншу комбінацію звичайних рухів режиму ви як.
Звичайно, ще один варіант, який мені дуже подобається - це просто використовувати Esc, зробити кілька невеликих рухів, перш ніж перейти назад до звичайного режиму. Ви згадали, що не хочете цього робити, але іноді це справді найефективніший спосіб.
Напевно, є й інші підходи, але саме такі, які мені подобаються, працювали на мене.