VIM поиск и копирование строк, включая шаблон - PullRequest
0 голосов
/ 19 сентября 2018

Я использую следующую команду VIM, чтобы скопировать все строки, включая шаблон, в конец файла :g/pattern/t$
Но я также хочу скопировать предыдущую или строку ниже совпадающей строки

1 Ответ

0 голосов
/ 19 сентября 2018

In:

:g/pattern/t$

:t - это команда ex, которая, как и все команды ex, может принимать диапазон.

Следующая команда скопирует строки 1-13 послепоследняя строка:

:1,13t$

Помимо абсолютных номеров строк, вы можете использовать относительные числа:

:-3,+5t$

и, действительно, все, что можно перевести в номер строки:

:?foo?,'et$

В вашем случае вы можете использовать диапазон, чтобы сказать Vim скопировать отмеченную строку, одну выше (-1), а другую ниже (+1):

:g/pattern/-1,+1t$

Или, немного короче:

:g/pattern/-,+t$
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...