9

Я знаю, как сделать что-то для каждой строки, которая соответствует шаблону, используя :g . Есть ли способ сделать что-то для каждой строки, которая не соответствует шаблону?

Например, предположим, что я хочу удалить каждую строку, которая не соответствует /foo /. Я мог бы сделать что-то вроде:

:G/foo/d

(:G не является противоположностью :g , но это то, что я ищу)

Есть идеи?

1 ответ1

17

Я думаю, что есть инверсия в VIM, как,

:g!/foo/d

или, как команда grep (ниже),

:v/foo/d

Если вы готовы перейти к приглашению оболочки,

grep -v foo filename.txt > new.txt

сделаю это

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