Angenommen, ich hatte eine Textdatei mit den folgenden neun Zeilen:
foo
bar
baz
qux
quux
Wie kann ich mit Sublime Text 2 alle vier leeren / leeren Zeilen entfernen, wobei nur fünf Zeilen übrig bleiben?
sublimetext2
Nick
quelle
quelle
^(\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+$
quelle
^[\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 folgtquelle
Eine Lösung zum Suchen / Ersetzen:
Regex Find:
\s+
Ersetzen durch:
// einzelnes Leerzeichen
quelle
Ich weiß nicht einmal, wie das Ganze funktioniert, aber ich habe es versucht
^\s*$
und nicht funktioniert ( ich habe immer noch einige leere Zeilen hinterlassen).Dies
^\s*
funktioniert stattdessen für mich{erhabener Text 3}
quelle
Ich musste verwenden:
Ersetzen Sie \ n ^ \ s * \ n durch \ n
Das https://github.com/NicholasBuse/sublime_DeleteBlankLines Plugin hat überhaupt nichts getan.
quelle
Erhabener Text 2 & 3
Die Kommentare von @crates funktionieren für mich,
Schritt 1: Drücken Sie einfach auf ctrl+H
Schritt 2: Drücken Sie die RegEX-Taste
Schritt 3: Schreiben Sie dies in die Suche:
^[\s]*?[\n\r]+
Schritt 4: Alle ersetzen
quelle
Einfacher als ich dachte. Ctrl+ AGefolgt von Ctrl+ HWählen Sie dann Regulärer Ausdruck
.*
. Ersetzen\n\n
durch\n
. Voila!quelle
Sie suchen dies:
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 ...
quelle
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.
quelle
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.
quelle
Auf andere Weise können Sie die Befehlszeile
cc.dbl
von ConyEdit (ein Plugin) verwenden, um Leerzeilen oder Leerzeilen zu löschen.quelle
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.
quelle
ctrl-q
(record Makro),cmd-j
(Verbindungslinien)down arrow
,ctrl-q
(Ende Makro) . Dannshift-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!
quelle
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
quelle
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:
quelle
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.
quelle
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
quelle
Wenn
^\n
nicht richtig funktioniert ===> versuchen.*[^\w]\n
quelle