Vim: увеличить скорость прохождения документа - PullRequest
8 голосов
/ 03 ноября 2011

Я иногда нахожу слишком медленный обход документов в Vim при использовании h, j, k, l. Есть ли способ временно увеличить количество строк / символов, которыми эти клавиши перемещают курсор? (Т.е. вместо перемещения 1j, нажатие j приведет к перемещению 3j)

Edit: Решение:

:map <F8> :noremap j 3j <CR>
:map <S-F8> :noremap j j <CR>

Я хотел что-то вроде этого, чтобы я мог легко просматривать более длинные части кода, которые не обязательно знакомы с ним. Этот подход позволяет мне легко переключаться между режимом «просмотра» и режимом «кодирования».

Ответы [ 6 ]

19 голосов
/ 03 ноября 2011

Хотя это возможно (используйте :noremap j 3j , введите и :noremap j j , введите , чтобы восстановить), может быть бесполезно долго изменять поведение этих клавиш.

Существует много способов навигации в Vim. Конечно, вы можете перейти на полный экран, используя Ctrl F и Ctrl B .

Как вы уже упоминали, вы можете ввести количество ходов перед выполнением навигации.

Вы также можете перейти непосредственно к определенной строке, используя : 9 Введите, например, .

Если вы видите текст, к которому хотите перейти, используйте / или ? , за которым следует текст.

Для h и l вы можете быстрее перемещаться по границам слов с помощью b , w и e и непрерывные непробельные символы с B , W и E .

12 голосов
/ 03 ноября 2011

Попробуйте Ctrl + D / Ctrl + U и Ctrl + F / B (вверх / вниз, вперед / назад соответственно).

Они пройдут документ намного быстрее, чем h,j,k,l.

5 голосов
/ 03 ноября 2011

То, что предложил @Bryan Ross, абсолютно верно.Я хочу добавить только одну вещь.Используйте относительный номер , это поможет вам более эффективно использовать j и k.

1 голос
/ 05 ноября 2011

Еще одна полезная вещь - включить номера строк (: установить номер).Если вы видите на экране, куда вам нужно пойти и увидеть номер строки, это просто G.

Если вы работаете с кодом в блоках,% переместит вас в соответствующую скобку, скобки и т. Д.

Если вы имеете дело с файлами с большим количеством дурацких символов, t, T, f и F очень полезны.

1 голос
/ 04 ноября 2011

Ответа Джея достаточно, я хотел бы добавить следующее!

В vim возможно много разных видов навигации (где h, j, k, l - просто линейная навигация),Вот некоторые из них:

  • навигация по экрану
  • навигация по Spl
  • навигация поиска
  • навигация по словам

См. ЭтоЗапишите, чтобы узнать, как это сделать: Навигация в редакторе Essential Vim

0 голосов
/ 23 октября 2015

Я знаю, что есть очень много уловок vim для быстрого обхода, но для меня наиболее удобной является механическая клавиатура со встроенным увеличением скорости повторения, когда вы удерживаете кнопку, это увеличивает повторение и т. Д. Для j или k, поэтому Обход будет быстрым и плавным. (Так мило!) Но раздражает, когда у вас есть vimrc, но нет клавиатуры, поэтому не универсальное решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...