GNU/Linux >> Tutoriels Linux >  >> Linux

Comment supprimer plusieurs lignes dans Vim

Nous faisons tous des erreurs. Faire des erreurs est humain. Il est également important de l'améliorer.

Si vous faites une erreur dans Vim, vous pouvez supprimer un mot en utilisant dw en mode normal. Vous tapez dd et il supprime la ligne courante.

Si vous souhaitez supprimer plusieurs lignes dans Vim, vous pouvez utiliser la même commande dd Vim en y ajoutant le nombre de lignes.

Donc, 10dd supprimera 10 lignes à partir du bas du curseur (y compris la ligne sur laquelle se trouve le curseur).

Voyons en détail comment supprimer une ou plusieurs lignes dans un éditeur réputé pour son efficacité.

Supprimer une seule ligne

Voici les étapes pour supprimer une seule ligne de texte dans Vim :

  1. Entrez en mode Normal en appuyant sur la touche Échap (Échap)
  2. Assurez-vous que votre curseur se trouve sur la ligne que vous souhaitez supprimer.
  3. Appuyez rapidement sur dd

Cela supprimera toute la ligne sur laquelle se trouve votre curseur.

Comme vous pouvez le voir dans le gif, je suis sur la première ligne et j'exécute le dd la commande n'a supprimé que la première ligne.

Spécifier le nombre de lignes à supprimer

Avant d'utiliser le dd pour supprimer une ligne, vous pouvez spécifier un nombre avant pour supprimer plusieurs lignes à la fois dans Vim.

Ci-dessous la syntaxe :

:[num]dd

Lorsque vous spécifiez un nombre à la place de num , Vim commencera à supprimer des lignes. Vous pouvez penser à cela comme Vim exécute le dd commande pour num fois.

Comme le montre le gif, j'ai exécuté la commande 12dd (il apparaît dans le coin inférieur droit) et il a supprimé le bloc de 12 lignes.

Spécifier une plage de lignes à supprimer

Au lieu de spécifier le nombre de lignes à supprimer de la ligne actuelle jusqu'au bas, vous pouvez simplement dire à Vim à partir de quelle ligne il doit commencer la suppression et jusqu'à quelle ligne.

Ci-dessous la syntaxe pour supprimer une plage de lignes :

:[begin],[end]d

Décomposons cette syntaxe...

  • : (deux-points) indique qu'il s'agit d'une commande Vim.
  • begin indique à Vim à partir de quelle ligne commencer
  • end indique à Vim quelle est la dernière ligne à supprimer
  • d la commande de suppression dans Vim

De plus, voici les caractères utilisés pour spécifier la plage (utilisés pour 'begin' et 'end) :

  • . (ligne courante)
  • $ (dernière ligne du fichier)
  • % (toutes les lignes)

Pour tirer des leçons de quelques exemples, examinons-les.

  • :10,45d - Supprimer de la 10ème à la 45ème ligne
  • :.,$d - Supprimer de la ligne actuelle jusqu'à la dernière ligne
  • :.,1d - Supprimer de la ligne actuelle au début du fichier
  • :dgg - Supprimer de la ligne actuelle au début du fichier

Comme vous pouvez le voir dans ce gif, même si je suis à la ligne 31, et que j'ai tapé :10,29d et il a supprimé les lignes de 10 à 29.

Supprimer toutes les lignes

Comme mentionné précédemment, le % Le symbole est utilisé pour spécifier la plage du début à la fin du fichier, essentiellement toutes les lignes.

Cela signifie que pour supprimer toutes les lignes d'un fichier dans Vim, vous devez utiliser :%d commande.

Supprimer les lignes qui correspondent à un certain modèle

En dehors de toute cette magie Vim, saviez-vous que vous pouviez supprimer des lignes correspondant à un modèle particulier ?

Eh bien, vous pouvez, et voici la syntaxe.

:g/PATTERN/d

Pour faire le contraire, en supprimant les lignes qui ne correspondent pas au modèle spécifié, vous pouvez utiliser la syntaxe spécifiée ci-dessous.

:g!/PATTERN/d

En décomposant cela, nous obtenons les éléments suivants :

  • g - rechercher globalement (c'est-à-dire le fichier entier)
  • ! - correspondance inversée
  • PATTERN - le motif à assortir
  • d - supprimer la commande

Si vous exécutez la commande suivante dans Vim, toutes les lignes contenant le modèle "extern crate" seront supprimées.

:g/extern\ crate/d

Supprimer toutes les lignes vides

Pour supprimer les lignes vides, il est nécessaire d'utiliser regex pour la correspondance de modèle. Ci-dessous la commande pour effectuer la suppression des lignes vides :

:g/^$/d

Dans regex, le ^$ motif désigne toute ligne commençant par une nouvelle ligne, essentiellement une ligne vide.

Conclusion

Cet article explique en détail comment vous pouvez supprimer des lignes dans Vim. Voici un bref résumé de ce que vous avez appris dans cet article. N'hésitez pas à l'enregistrer et à le partager sur les réseaux sociaux :

Si vous souhaitez en savoir plus que les bases de Vim, je vous recommande vivement d'utiliser ce programme de Jovica Ilic.


Linux
  1. Comment supprimer plusieurs lignes aléatoires d'un fichier texte à l'aide de Sed ?

  2. Comment ajouter plusieurs lignes à un fichier ?

  3. Comment afficher les numéros de ligne dans vi/vim ?

  4. Comment supprimer toutes les lignes d'un fichier dans Vim

  5. Comment compter les lignes d'un fichier sous UNIX/Linux

Comment trouver la ou les lignes les plus longues dans un fichier sous Linux

Comment quitter Vim ? Plusieurs façons de quitter l'éditeur Vim

Comment commenter plusieurs lignes à la fois dans l'éditeur vim en utilisant 3 méthodes

Comment afficher ou masquer les numéros de ligne dans Vim

Comment supprimer plusieurs dossiers en parallèle ?

Comment modifier les lignes précédentes dans une commande à plusieurs lignes dans Bash ?