Есть ли противоположность: g в vim?


10

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

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

:G/foo/d

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

Любые идеи?


2
MIV NI G:.
Цилб

Ответы:


17

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

:g!/foo/d

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

:v/foo/d

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

grep -v foo filename.txt > new.txt

сделаю это

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.