Есть много вариантов у вас есть. Один из вариантов, и IMO самый разумный и простой - это просто прекратить отключать клавиши со стрелками. Я понимаю, почему многие хардкорные виммеры говорят такие вещи, как
Вы никогда не должны снова использовать клавиши со стрелками! Каждый раз, когда вы используете клавиши со стрелками, вы тратите 3 минуты времени, щенок умирает, и кто-то переключается на Emacs!
(Очевидно, я шучу) Однако, есть цель для клавиш со стрелками. Они чрезвычайно полезны для навигации:
В режиме вставки
В командной строке
Обычно, когда люди говорят вам не использовать клавиши со стрелками, это потому, что они хотят, чтобы вы переучивали навигацию более похожим на vim способом. Если вам удобно 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сделать несколько небольших движений, прежде чем вернуться в обычный режим. Вы упомянули, что не хотите этого делать, но иногда это действительно самый эффективный способ.
Возможно, есть и другие подходы, но мне они понравились.