, , ,

Vim: suppression de lignes d'après un motif

On souhaite ici supprimer l'ensemble des lignes du fichier contenant un ou des mots clés. On utilise la commande g[lobal] comme présenté pour la suppression des lignes vides:

Supprimer toutes les lignes contenant le mot “MyKeyword” :

:g/MyKeyword/d

# Equivalent
:global/MyKeyword/d
Pour limiter la portée de la commande, on peut utiliser en préfixe un sélecteur.

Dans l'exemple ci-dessous on ne supprimera les lignes vides que sur les 10 premières lignes du fichier.

# N'appliquer la commande que sur les 10 premières lignes
:1,10g/MyKeyword/d
Le sélecteur peut également s'appuyer sur des marqueurs.

Pour supprimer la ligne et les deux suivantes :

:g/MyKeyword/normal 3dd

Références