Я хотел бы сделать обратную операцию, выполняемую
:g/pattern/d
, т.е. удалить все строки в файле, который не имеет pattern
pattern
Вы можете использовать v, чтобы выбрать все строки без шаблона: :v/pattern/d достигнет того, что вы хотите сделать.
v
:v/pattern/d
См. :help :v
:help :v
Вы можете просто отменить шаблон
:g!/pattern/d
Это удалит все, кроме выбранных линий.
Один из способов сделать это с помощью фильтра оболочки:
:%!grep pattern
Эта команда передает весь ваш файл (%) в оболочку (!), которая запускает его с помощью команды grep pattern и возвращает вывод в окно редактора.
%
!
grep pattern