Перемещение строк курсора x из текущего положения в vi/vim


есть ли способ переместить курсор на относительное количество строк в vi / vim? Скажем, у вас есть Курсор 10 строк под блоком кода, который вы хотите удалить. Если у вас есть номера строк, показанные в относительном порядке, было бы неплохо иметь команду "перейти на 10 строк", которая приведет вас туда.

или, возможно, лучше показать абсолютные номера строк и перейти к xgg, где x-номер строки?

3 58

3 ответа:

Да, конечно, есть способ. j и k двигаться вниз и вверх на одну строку, так 10j и 10k перемещение вниз и вверх на десять строк. Вы можете повторить любое движение, поставив перед ним число.

вы также можете захотеть set relativenumber если это то, что вы делаете много - это поможет вам сэкономить подсчет, печатая номера строк относительно текущей строки, а не абсолютные числа.

перемещение 10 строк вверх и вниз может не соответствовать вашей задаче, а также другим параметрам. Рассмотрим другие движения:

Ctrlf,Ctrlb страница вперед и назад.

}, { двигаться вперед и назад на один пункт.

вы можете написать правила в своем vimrc для привязки 10j к ключу, скажем J перейти на 10 линии, добавив следующую строку в ваш vimrc файл: map <S-j> 10j

однако вы будете перезаписывать полезные существующие (соединить две линии). Найти хорошо расположенную неиспользуемую комбинацию клавиш для 10j/10k может быть сложно, поэтому я предлагаю использовать существующие движения, которые я упомянул.

вы также можете знать, что вы можете двигаться назад к слову, которое вы видите, делая: ?someword и вперед к слову, которое вы видите, делая /someword. Это будет быстрее, чем пытаться двигаться вверх/вниз 10 строк а затем переместите курсор в точное место. Если вы не можете придумать простую строку поиска для рассматриваемой строки, вы всегда можете перейти к номеру строки, как вы сказали (xgg).

я возился с vim и заметил - перемещает вас вверх и + перемещает вас вниз, так что вы можете:

10-

или вы могли бы использовать k так как вы, скорее всего, привыкли к hjkl перемещение курсора.