Как выдернуть или удалить несколько строк в Vim, все в разных диапазонах?


0

Я видел пару вопросов о том, как дергать и удалять диапазон строк в Vim, например, от строки 5 до строки 10.

Тем не менее, я не нашел (в документации и поиске) о том, как восстановить / удалить в одной команде, например, строки 3, 5, 10 и 12.

Это возможно?


Об этом спрашивали и отвечали на SO: stackoverflow.com/questions/1608204/multiple-selections-in-vim
benjifisher

Ответы:


2

Это возможно, но это не просто. Vim не поддерживает несколько диапазонов или несколько несмежных номеров строк. Увидеть

:help 10.3
:help :range

Вы можете указать линии, которые будут выдергиваться в шаблоне :g команда, хотя, используя атом номера строки. Увидеть

:help :g
:help /\%l

В случае вашего примера, следующее будет перетягивать эти строки в a регистр.

:g/\%3l\|\%5l\|\%10l\|\%12l/y A

1
Обратите внимание, что для правильной работы регистр 'a' должен быть пустым. Простой способ сделать это - записать пустой макрос, нажав qaq в обычном режиме.
Ben
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.