¿Hay un opuesto de: g en vim?

10

Sé cómo hacer algo en cada línea que coincida con un patrón, usando :g. ¿Hay alguna manera de hacer algo en cada línea que no coincida con el patrón?

Por ejemplo, supongamos que quiero eliminar cada línea que no coincide con / foo /. Podría hacer algo como:

:G/foo/d

( :Gno es lo contrario de :g, pero eso es lo que estoy buscando)

¿Algunas ideas?

pkaeding
fuente
2
miv ni g:.
tsilb

Respuestas:

17

Creo que hay una inversión dentro de VIM como,

:g!/foo/d

o, como el grepcomando (abajo),

:v/foo/d

Si está listo para ir al indicador de shell,

grep -v foo filename.txt > new.txt

hará esto

nik
fuente