com grep eu posso fazer um grep -v "minha pesquisa" para obter todas as linhas sem "minha pesquisa"
com sed eu posso sed '/ baz /! s / foo / bar / g' para encontrar substituir texto nas linhas sem baz
Existe uma maneira de fazer a mesma coisa vim. E é possível, mas sem a sintaxe "s ///". Usando apenas a sintaxe de pesquisa "/".
linux
vim
search
text-editors
find-and-replace
nelaaro
fonte
fonte
Para procurar as linhas que não contêm foo, por exemplo, faça:
Fonte: http://vim.wikia.com/wiki/Search_for_lines_not_containing_pattern_and_other_helpful_searches
fonte
Utilizando o: v commandEdit A abordagem tradicional para localizar linhas que não correspondem a um padrão está usando o comando : v
Um truque interessante ao trabalhar com um arquivo de log grande em que você deseja filtrar o máximo de linhas irrelevantes possível antes de iniciar sua pesquisa real é salvar o arquivo com um nome temporário e excluir todas as linhas não correspondentes:
Agora você está editando um clone do seu arquivo original com todas as linhas que não correspondem ao "aviso" removidas e pode editá-lo à vontade.
Ref: https://vim.fandom.com/wiki/Search_for_lines_not_containing_pattern_and_other_helpful_searches
fonte