web-dev-qa-db-fra.com

Sublime Text 2: Comment supprimer des lignes vides/vides

Disons que j'ai un fichier texte avec les neuf lignes suivantes:

foo

bar

baz

qux

quux

Comment utiliser Sublime Text 2 pour supprimer les quatre lignes vides/vides en ne laissant que cinq lignes?

249
Nick

Sélectionnez le texte

Presse:

  • Ctrl + H sur PC, ou
  • Command + 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
  • Command + Alt + R sur Mac ou
  • Cliquez sur .* dans la zone Rechercher.

Trouvez quoi: ^\n

Remplacer par: (rien, laissez en blanc).

619
Hugo Corrá

La regexp dans la réponse de Hugo est correcte quand 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+$

63
signalpillar

Il existe également des plug-ins ST2/ST3 pour ces tâches. J'aime ces deux:

La première dispose de deux méthodes pour supprimer les lignes vides/inutiles. L'un d'entre eux appelé Delete Surplus Blank Lines qui est cool. Il supprime uniquement les lignes suivies par une autre ligne vide

23
V-Light

Une solution Trouver/Remplacer:

Regex Find: \s+

Remplacer par: // espace unique

10
Saad

Je ne sais même pas comment tout cela fonctionne, mais j'ai essayé ^\s*$ et je n'ai pas fonctionné (en laissant quelques lignes vides).

Ceci à la place ^\s* fonctionne pour moi 

{sublime text 3}

8
abs

Je devais utiliser:

remplacez\n \\ s *\n par\n

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

7
Bruce Edge

Plus simple que je pensais. Ctrl + A suivi de Ctrl + H Ensuite, sélectionnez Expression rationnelle .*. Remplacez \n\n par \n. Voila!

5
Samuel Wahome

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 la recherche: ^[\s]*?[\n\r]+

Étape 4: remplacez tous

4
rsc05

Vous recherchez ceci:

^\n|^\s+$

il ne supprimera pas la ligne s'il y a du contenu avec des espaces ou des tabulations devant>

par exemple.:

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

... onglet ... abc

cette volonté:

... espace ... ... rien d'autre ...

... tab ... ... rien d'autre ...

3
Brian Joseph Spinos

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 reprises, pour les sélectionner tous; puis frappé Enter pour les remplacer par des sauts de ligne simples.

3
deltab

Vous pouvez également utiliser la ligne de commande cc.dbl de ConyEdit (un plugin) pour supprimer des lignes vides ou des lignes vides.

2
Dick

Leur est un moyen plus facile de le faire sans regex. il vous suffit de sélectionner tout le texte. puis allez dans: Edition -> Lignes de permutation -> Unique.

C'est tout. et toutes les lignes vides seront supprimées.

2
Dihia LANASRI

Pour ceux qui sont curieux d'éditeur de texte sublime, la unofficial-documentation peut être intéressante!

1
herve

Il existe un merveilleux package (pour Sublime 2 & 3) appelé 'Trimmer' qui supprime les lignes vides. Il fait aussi beaucoup d'autres choses utiles. 

Référez-vous à ceci: https://packagecontrol.io/packages/Trimmer

1
Yogesh Mistry

Il y a aussi "joindre des lignes". Si vous utilisez OSX, sélectionnez tout votre texte et appuyez plusieurs fois sur CMD-J. La sélection sera réduite par ligne, ce qui supprimera les sauts de ligne. 

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

1
Donncha

Dans mon cas, certaines lignes vides contenaient le caractère Unicode espace nul (U + 200b). Pour supprimer les lignes vides, y compris celles contenant ce caractère Unicode:

\s\x{200b}|^\s
0
MetalGodwin

En utilisant rechercher/remplacer, essayez de coller une sélection commençant à la fin de la ligne au-dessus de la ligne vierge et se terminant au début de la ligne après la vierge. 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 insérez une nouvelle ligne dans la zone de remplacement via un copier/coller ou une autre méthode.

0
Clayton Loudon