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?
Sélectionnez le texte
Presse:
Assurez-vous d'avoir sélectionné "expression régulière" en appuyant sur:
Trouvez quoi: ^\n
Remplacer par: (rien, laissez en blanc).
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+$
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
Une solution Trouver/Remplacer:
Regex Find: \s+
Remplacer par: // espace unique
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}
Je devais utiliser:
remplacez\n \\ s *\n par\n
Le https://github.com/NicholasBuse/sublime_DeleteBlankLines plugin n'a rien fait du tout.
Plus simple que je pensais. Ctrl
+ A
suivi de Ctrl
+ H
Ensuite, sélectionnez Expression rationnelle .*
. Remplacez \n\n
par \n
. Voila!
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
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 ...
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.
Vous pouvez également utiliser la ligne de commande cc.dbl
de ConyEdit (un plugin) pour supprimer des lignes vides ou des lignes vides.
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.
Pour ceux qui sont curieux d'éditeur de texte sublime, la unofficial-documentation peut être intéressante!
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
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é.
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
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.