Команда Vim, чтобы удалить все кроме выбранных строк - PullRequest
6 голосов
/ 17 декабря 2010

Я хотел бы сделать обратную операцию, выполняемую

:g/pattern/d

, т.е. удалить все строки в файле, который не имеет pattern

Ответы [ 3 ]

22 голосов
/ 17 декабря 2010

Вы можете использовать v, чтобы выбрать все строки без шаблона:
:v/pattern/d достигнет того, что вы хотите сделать.

См. :help :v

2 голосов
/ 22 ноября 2016

Вы можете просто отменить шаблон

:g!/pattern/d

Это удалит все, кроме выбранных линий.

2 голосов
/ 17 декабря 2010

Один из способов сделать это с помощью фильтра оболочки:

:%!grep pattern

Эта команда передает весь ваш файл (%) в оболочку (!), которая запускает его с помощью команды grep pattern и возвращает вывод в окно редактора.

...