Réponses:
Sélectionnez le texte
Presse:
Assurez-vous d'avoir sélectionné «expression régulière» en appuyant sur:
Trouver quoi: ^\n
Remplacer par: (rien, laisser en blanc).
^(\r|\n\r?)
pour couvrir tous les sauts de ligne possibles.
^[\s]*?[\n\r]+
?
, car a *
correspond également à zéro occurrence et \s*
correspondra au supplément '\ r' lorsque, par exemple, éditez du texte Windows dans un environnement Linux, il en ^\s*$
va de même pour l'astuce.
Le regexp dans la réponse de Hugo est correct lorsqu'il n'y a pas d'espaces dans la ligne. Dans le cas où il y a regexp d'espace peut être^\s+$
^[\s]*?[\n\r]+
plutôt. Je l'ai testé et cela fonctionne.
Il existe également des plugins ST2 / ST3 pour de telles tâches. J'aime bien ces deux:
La première a deux méthodes pour supprimer les lignes vides / inutiles. L'un d'eux a appelé Delete Surplus Blank Lines
ce qui est cool. Il supprime uniquement les lignes qui sont suivies d'une autre ligne vide
J'ai dû utiliser:
remplacer \ n ^ \ s * \ n par \ n
Le plugin https://github.com/NicholasBuse/sublime_DeleteBlankLines n'a rien fait du tout.
Plus simple que je ne le pensais. Ctrl+ ASuivi de Ctrl+ HPuis sélectionnez Expression régulière .*
. Remplacez \n\n
par \n
. Voila!
Vous recherchez ceci:
^\n|^\s+$
il ne supprimera pas la ligne, s'il y a du contenu avec des espaces blancs ou des tabulations 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 plusieurs sélections: sélectionnez une paire de sauts de ligne, puis utilisez Recherche rapide tout ( Alt+ F3) ou Ajout rapide suivant ( Ctrl+ D) à plusieurs reprises pour les sélectionner tous; puis appuyez sur Enterpour les remplacer par des sauts de ligne simples.
C'est un moyen plus facile de le faire sans regex. il suffit de sélectionner tout le texte. puis allez dans: Edition -> Permuter les lignes -> Unique.
C'est tout. et toutes les lignes vides seront supprimées.
Il y a aussi "Join lines". Si sur OSX, sélectionnez tout votre texte et appuyez sur CMD-J plusieurs fois, et il réduira votre sélection par ligne, 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é.
ctrl-q
(macro enregistrement), cmd-j
(lignes de jonction), down arrow
, ctrl-q
(fin macro) . Puis shift-ctrl-q
répéter aussi souvent que nécessaire ...
Pour ceux qui sont curieux de sublime éditeur de texte, la documentation non officielle peut être intéressante!
Il y a un merveilleux paquet (pour Sublime 2 & 3) appelé ' Trimmer ' qui supprime les lignes vides. Il fait également beaucoup d'autres choses utiles.
Reportez-vous à ceci: https://packagecontrol.io/packages/Trimmer
Dans mon cas, certaines lignes vides contenaient l' espace de largeur nulle du caractère unicode (U + 200b). Pour supprimer les lignes vides, y compris celles avec ce caractère unicode:
\s\x{200b}|^\s
À l'aide de la fonction de recherche / remplacement, essayez de coller une sélection commençant à la fin de la ligne au-dessus de la ligne vide et se terminant au début de la ligne après le blanc. Cela fonctionne pour une seule ligne vierge. Vous pouvez également répéter le processus pour plusieurs lignes vides. CTRL- H, placez votre sélection dans la zone de recherche et mettez une seule nouvelle ligne dans la zone de remplacement via copier / coller ou une autre méthode.
Pour trouver des espaces supplémentaires et des lignes vides, appuyez sur Ctrl+ Shift+ F Sélectionnez Expressions régulières Rechercher
[\n\r]{2,}
puis remplacer par
\n
pour supprimer toutes sortes d'espaces dans sublime et dreamviewr
Si ^\n
ne fonctionne pas correctement ===> essayez .*[^\w]\n