Подтвердить что ты не робот

Переместить курсор x строк из текущей позиции в vi/vim

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

Ctrl+f, Ctrl+b вперед и назад.

}, { перемещаться вперед и назад одним абзацем.

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

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

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

Ответ 3

Я возился с vim, и я заметил, что - перемещает вас, а + перемещает вас, поэтому вы можете

10-

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