Sublime Text 2: comment supprimer des lignes vides / vides

Disons que j’avais un fichier texte avec les neuf lignes suivantes:

foo bar baz qux quux 

Comment puis-je utiliser Sublime Text 2 pour supprimer les quatre lignes vides / vides, ne laissant que cinq lignes?

Sélectionnez le texte

Presse:

  • Ctrl + H sur PC, ou
  • Commande + Alt + F sur Mac ou
  • Cliquez sur Rechercher-> Remplacer.

Assurez-vous d’avoir sélectionné «expression régulière» en appuyant sur:

  • Alt + R sur PC ou
  • Commande + Alt + R sur Mac ou
  • Cliquez sur . * Dans la zone Rechercher.

Trouvez quoi: ^\n

Remplacer par: (rien, laisser en blanc).

L’expression rationnelle dans la réponse de Hugo est correcte lorsqu’il n’y a pas d’espaces dans la ligne. Dans le cas où il y a de l’espace, l’expression rationnelle peut être ^\s+$

Il existe également des plugins ST2 / ST3 pour de telles tâches. Je fais comme ces deux:

  • Supprimer les lignes vides (également disponibles via le contrôle des paquets)
  • Espaces de suivi (également disponibles via le contrôle de package)

Le premier a deux méthodes pour supprimer les lignes vides / inutiles. L’un d’eux s’appelle Delete Surplus Blank Lines ce qui est cool. Il ne supprime que les lignes suivies d’une autre ligne vide

Une solution Rechercher / Remplacer:

Regex Find: \s+

Remplacer par: //seul espace

Je devais utiliser:

remplacer \ n ^ \ s * \ n avec \ n

Le plugin https://github.com/NicholasBuse/sublime_DeleteBlankLines n’a rien fait du tout.

Je ne sais même pas comment tout ça fonctionne, mais j’ai essayé ^\s*$ et je n’ai pas fonctionné (laissant encore des lignes vides).

Au lieu de cela, ^\s* fonctionne pour moi

{texte sublime 3}

Plus simple que je pensais. Ctrl + A Suivi de Ctrl + H Sélectionnez ensuite Expression régulière .* . Remplacez \n\n par \n . Voila!

Vous cherchez ceci:

 ^\n|^\s+$ 

il ne supprimera pas la ligne, s’il y a du contenu avec des espaces blancs ou des tabs devant>

par exemple:

ceux-ci ne seront pas supprimés: … espace … abc

… onglet … abc

cette volonté:

… l’espace … … rien d’autre …

… onglet … … rien d’autre …

Utilisation de sélections multiples: sélectionnez une paire de sauts de ligne, puis utilisez Recherche rapide tous ( Alt + F3 ) ou Ajout rapide suivant ( Ctrl + D ) à plusieurs resockets pour les sélectionner tous. puis appuyez sur Entrée pour les remplacer par des sauts de ligne simples.

Sublime Text 2 & 3

Les commentaires de @crates fonctionnent pour moi,

Étape 1: Appuyez simplement sur Ctrl + H

Étape 2: appuyez sur la touche RegEX

Étape 3: écrivez ceci dans le Find: ^[\s]*?[\n\r]+

Étape 4: remplacer tout

Il y a aussi “Join lines”. Si vous êtes sur OSX, sélectionnez tout votre texte, puis appuyez plusieurs fois sur CMD-J et cela réduira votre sélection par ligne, en supprimant les sauts de ligne.

Edit: Cette approche vous laissera tout sur une seule ligne, ce qui n’est pas ce que vous avez demandé.

Pour ceux qui sont curieux de l’éditeur de texte sublime, la documentation non officielle peut être intéressante!

Il y a un paquet merveilleux (pour Sublime 2 & 3) appelé « Trimmer » qui supprime les lignes vides. Il fait aussi beaucoup d’autres choses utiles.

Référer ceci: https://packagecontrol.io/packages/Trimmer

Vous pouvez également utiliser la ligne de commande cc.dbl de ConyEdit (un plug-in) pour supprimer les lignes vides ou les lignes vides.

En utilisant find / replace, essayez de coller une sélection en commençant à la fin de la ligne au-dessus de la ligne vide et se termine au début de la ligne après le blanc. Cela fonctionne pour une seule ligne vide. Vous pouvez également répéter le processus pour plusieurs lignes vierges. CTRL-H, placez votre sélection dans la zone de recherche et placez une nouvelle ligne dans la zone de remplacement via copier / coller ou une autre méthode.

Si ^\n ne fonctionne pas correctement ===> essayez .*[^\w]\n