¿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?


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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.