Existe um oposto de: g no vim?


10

Eu sei como fazer algo para cada linha que corresponde a um padrão, usando :g. Existe uma maneira de fazer algo em cada linha que não corresponde ao padrão?

Por exemplo, suponha que eu queira excluir todas as linhas que não correspondam a / foo /. Eu poderia fazer algo como:

:G/foo/d

( :Gnão é o oposto :g, mas é isso que estou procurando)

Alguma ideia?


2
miv ni g:.
tsilb

Respostas:


17

Eu acho que há uma inversão no VIM como,

:g!/foo/d

ou, como o grepcomando (abaixo),

:v/foo/d

Se você estiver pronto para ir para o prompt do shell,

grep -v foo filename.txt > new.txt

vai fazer isso

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.