Existe um oposto de: g no vim?

9

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

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

:G/foo/d

( :G não é o oposto de :g , mas é isso que estou procurando)

Alguma idéia?

    
por pkaeding 31.08.2009 / 05:04

1 resposta

17

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

:g!/foo/d

ou, como o comando grep (abaixo),

:v/foo/d

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

grep -v foo filename.txt > new.txt

fará isso

    
por 31.08.2009 / 05:09

Tags