1

Я пытаюсь выбрать конкретные строки без слишком большого движения курсора - спасает! Но давайте предположим, что я работаю со строкой 15370 (устаревшая кодовая база :() и хочу удалить строки 15355 и дерево, следующее за строками. Я мог бы :15355,15358d или сохранить набор текста :15355;+3d но оба будут перемещать курсор. На самом деле ; будет даже перемещать курсор, если я только дергаю вместо того, чтобы удалить их сейчас.

Как я могу указать относительный номер строки в качестве второго аргумента диапазона, не перемещая курсор? Есть ли что-то вроде обратной ссылки в регулярных выражениях для диапазонов?

1 ответ1

5

Вы не можете избежать таких команд Ex, как :substitute изменить положение курсора; это их встроенное поведение. Но Vim сохраняет предыдущую позицию в списке переходов, поэтому <C-O> (или ``) возвращает вас туда, где вы выполнили команду.

PS: Эта относительная команда адресации в вашем вопросе должна быть :15355;+3d ; + необходим, чтобы перейти на 3 строки вместо строки 3.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .