avec Grep, je peux faire un grep -v "ma recherche" pour obtenir toutes les lignes avec une "ma recherche"
avec SED, je peux sed '/ Baz /! S/FOO/BAR/G' pour trouver Remplacer le texte sur les lignes sans baz
Y a-t-il un moyen de faire la même chose Vim. Et est-ce possible mais avec la syntaxe "S ///". En utilisant simplement la syntaxe de recherche "/".
:g/pattern/
correspond à toutes les lignes ont été trouvés.
:v/pattern/
fait le contraire. Voir :h global
pour plus de détails.
Vous pouvez l'utiliser comme ceci:
:v/pattern/norm Ipattern not found - <CR>
préparer le "modèle non trouvé -" à toutes les lignes qui n'ont pas de "modèle" ou
:v/pattern/s/nrettap/pattern
remplacer "NRETTAP" par "modèle" sur chaque ligne qui n'a pas de "modèle".
Exemples artificiels, oui.
Pour rechercher les lignes non contenant foo, par exemple, faire:
/^\(\(.*foo.*\)\@!.\)*$
Source: http://vim.wikia.com/wiki/search_for_lines_not_contining_pattern_and_other_helpful_searches