Antworten:
Wählen Sie den Text aus
Drücken Sie:
Stellen Sie sicher, dass Sie "regulärer Ausdruck" ausgewählt haben, indem Sie drücken:
Finde was: ^\n
Ersetzen durch: (nichts, leer lassen).
^(\r|\n\r?)
, um alle möglichen Zeilenumbrüche abzudecken.
^[\s]*?[\n\r]+
?
, da a *
auch mit null Vorkommen \s*
übereinstimmt und mit dem zusätzlichen '\ r' übereinstimmt, wenn Sie beispielsweise Windows-Text in einer Linux-Umgebung bearbeiten, ebenso ^\s*$
wie der Trick.
Der reguläre Ausdruck in Hugos Antwort ist korrekt, wenn die Zeile keine Leerzeichen enthält. Falls Platz vorhanden ist, kann regulärer Ausdruck sein^\s+$
^[\s]*?[\n\r]+
stattdessen. Ich habe das getestet und es funktioniert.
Es gibt auch einige ST2 / ST3-Plugins für solche Aufgaben. Ich mag diese beiden:
Die erste hat zwei Methoden zum Entfernen leerer / unnötiger Zeilen. Einer von ihnen hat angerufen, Delete Surplus Blank Lines
was cool ist. Es werden nur die Zeilen entfernt, auf die eine weitere leere Zeile folgt
Ich musste verwenden:
Ersetzen Sie \ n ^ \ s * \ n durch \ n
Das https://github.com/NicholasBuse/sublime_DeleteBlankLines Plugin hat überhaupt nichts getan.
Einfacher als ich dachte. Ctrl+ AGefolgt von Ctrl+ HWählen Sie dann Regulärer Ausdruck .*
. Ersetzen \n\n
durch \n
. Voila!
Sie suchen dies:
^\n|^\s+$
Die Zeile wird nicht gelöscht, wenn Inhalt mit Leerzeichen oder Tabulatoren vor> vorhanden ist
z.B:
diese werden nicht gelöscht: ... space ... abc
... tab ... abc
dieser Wille:
... Raum ... ... sonst nichts ...
... tab ... ... sonst nichts ...
Verwenden mehrerer Auswahlen: Wählen Sie ein Zeilenumbruchpaar aus und wählen Sie dann alle mit Quick Find All ( Alt+ F3) oder Quick Add Next ( Ctrl+ D) wiederholt aus. EnterDrücken Sie dann , um sie durch einzelne Zeilenumbrüche zu ersetzen.
Dies ist eine einfachere Möglichkeit, dies ohne Regex zu tun. Sie müssen nur den gesamten Text auswählen. Gehen Sie dann zu: Bearbeiten -> Linien zulassen -> Eindeutig.
Das ist alles. und alle Leerzeilen werden gelöscht.
Es gibt auch "Linien verbinden". Wählen Sie unter OSX Ihren gesamten Text aus und drücken Sie einige Male CMD-J. Dadurch wird Ihre Auswahl nach Zeilen reduziert und die Zeilenumbrüche entfernt.
Bearbeiten: Dieser Ansatz lässt Sie alles in einer Zeile, was nicht das ist, wonach Sie gefragt haben.
ctrl-q
(record Makro), cmd-j
(Verbindungslinien) down arrow
, ctrl-q
(Ende Makro) . Dann shift-ctrl-q
so oft wie nötig wiederholen ...
Für diejenigen, die neugierig auf einen großartigen Texteditor sind, kann die inoffizielle Dokumentation interessant sein!
Es gibt ein wunderbares Paket (für Sublime 2 & 3) namens " Trimmer ", das leere Zeilen löscht. Es macht auch viele andere nützliche Dinge.
Siehe hierzu: https://packagecontrol.io/packages/Trimmer
In meinem Fall enthielten einige leere Zeilen den Raum mit der Breite Null für Unicode-Zeichen (U + 200b). So entfernen Sie leere Zeilen, einschließlich der Zeilen mit diesem Unicode-Zeichen:
\s\x{200b}|^\s
Fügen Sie mit Suchen / Ersetzen eine Auswahl ein, die am Ende der Zeile über der Leerzeile beginnt und am Zeilenanfang nach der Leerzeile endet. Dies funktioniert für eine einzelne Leerzeile. Sie können den Vorgang auch für mehrere Leerzeilen wiederholen. CTRL- H, geben Sie Ihre Auswahl in das Suchfeld ein und fügen Sie eine einzelne neue Zeile per Kopieren / Einfügen oder auf andere Weise in das Ersetzungsfeld ein.
Um zusätzliche Leerzeichen und Leerzeilen zu finden, drücken Sie Ctrl+ Shift+. F Wählen Sie Regular Expressions Find
[\n\r]{2,}
und dann ersetzen durch
\n
alle Arten von Räumen in erhabenem und traumhaftem zu entfernen
Wenn ^\n
nicht richtig funktioniert ===> versuchen .*[^\w]\n