Apakah ada kebalikan dari: g in vim?

10

Saya tahu bagaimana melakukan sesuatu untuk setiap baris yang cocok dengan suatu pola, menggunakan :g. Apakah ada cara untuk melakukan sesuatu pada setiap baris yang tidak cocok dengan polanya?

Misalnya, saya ingin menghapus setiap baris yang tidak cocok / foo /. Saya mungkin melakukan sesuatu seperti:

:G/foo/d

( :Gbukan kebalikan dari :g, tapi itu yang saya cari)

Ada ide?

pkaeding
sumber
2
miv ni g:.
tsilb

Jawaban:

17

Saya pikir ada inversi dalam VIM seperti,

:g!/foo/d

atau, seperti grepperintah (di bawah),

:v/foo/d

Jika Anda siap untuk pergi ke prompt shell,

grep -v foo filename.txt > new.txt

akan melakukan ini

nik
sumber