webentwicklung-frage-antwort-db.com.de

Sublime Text 2: So löschen Sie leere/leere Zeilen

Nehmen wir an, 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 und nur fünf Zeilen übrig lassen?

249
Nick

Markieren Sie den Text

Drücken Sie:

  • Ctrl + H auf dem PC oder
  • Command + Alt + F auf Mac oder
  • Klicken Sie auf Suchen-> Ersetzen.

Stellen Sie sicher, dass Sie "regulärer Ausdruck" ausgewählt haben, indem Sie auf drücken:

  • Alt + R auf PC oder
  • Command + Alt + R auf Mac oder
  • Klicken .* im Feld Suchen.

Finde was: ^\n

Ersetzen durch: (nichts, leer lassen).

619
Hugo Corrá

Die Antwort in Hugos Antwort ist korrekt, wenn die Zeile keine Leerzeichen enthält. Falls Platz vorhanden ist, kann regexp ^\s+$ sein.

63
signalpillar

Es gibt auch einige ST2/ST3-Plugins für solche Aufgaben. Ich mag diese beiden:

Die erste hat zwei Methoden zum Entfernen von leeren/nicht benötigten Zeilen. Einer von ihnen nannte Delete Surplus Blank Lines, was cool ist. Es entfernt nur die Zeilen, denen eine andere leere Zeile folgt

23
V-Light

Eine Find/Replace-Lösung:

Regex-Suche: \s+

Ersetzen durch: // einzelnes Leerzeichen

10
Saad

Ich weiß gar nicht, wie das Ganze funktioniert, aber ich habe versucht ^\s*$ und funktionierte nicht (ließ immer noch ein paar leere Zeilen).

Das funktioniert stattdessen ^\s* für mich 

{erhabener Text 3}

8
abs

Ich musste verwenden:

ersetzen Sie\n ^\s *\n durch\n

Das https://github.com/NicholasBuse/sublime_DeleteBlankLines plugin hat überhaupt nichts getan.

7
Bruce Edge

Einfacher als ich dachte. Ctrl + A Gefolgt von Ctrl + H Wählen Sie dann Regulärer Ausdruck .*. Ersetzen Sie \n\n durch \n. Voila!

5
Samuel Wahome

Erhabener Text 2 und 3

Die Kommentare von @crates funktionieren für mich, 

Schritt 1: Drücken Sie einfach Strg + H

Schritt 2: Drücken Sie die RegEX-Taste

Schritt 3: Schreiben Sie dies in Find: ^[\s]*?[\n\r]+

Schritt 4: Alles ersetzen

4
rsc05

Sie suchen das:

^\n|^\s+$

die Zeile wird nicht gelöscht, wenn sich Inhalt mit Leerzeichen oder Tabulatoren vor> befindet

z.B.:

diese werden nicht gelöscht: ... space ... abc

... tab ... abc

dieser Wille:

... Platz ... ... nichts anderes ...

... tab ... ... sonst nichts ...

3

Verwenden mehrerer Auswahlen: Wählen Sie ein Paar Zeilenumbrüche aus und verwenden Sie dann die Schnellsuche (Alt+F3) oder Quick Add Next (Ctrl+D) wiederholt, um sie alle auszuwählen; dann schlagen Enter um sie durch einzelne Zeilenumbrüche zu ersetzen.

3
deltab

Auf andere Weise können Sie die Befehlszeile cc.dbl von ConyEdit (ein Plugin) verwenden, um Leerzeilen oder Leerzeilen zu löschen.

2
Dick

Es ist einfacher, dies ohne Regex zu tun. Sie müssen nur den gesamten Text auswählen. Gehen Sie dann zu: Bearbeiten -> Linien permutieren -> Eindeutig.

Das ist alles. und alle leeren Zeilen werden gelöscht.

2
Dihia LANASRI

Für diejenigen, die neugierig auf einen hervorragenden Texteditor sind, kann die inoffizielle Dokumentation interessant sein!

1
herve

Es gibt ein wunderbares Paket (für Sublime 2 & 3) mit dem Namen 'Trimmer', das leere Zeilen löscht. Es macht auch viele andere nützliche Dinge. 

Siehe hierzu: https://packagecontrol.io/packages/Trimmer

1
Yogesh Mistry

Es gibt auch "Verbindungslinien". Wählen Sie unter OSX Ihren gesamten Text aus und drücken Sie ein paar Mal CMD-J. Dadurch wird Ihre Auswahl zeilenweise ausgeblendet und die Zeilenumbrüche entfernt. 

Bearbeiten: Bei diesem Ansatz bleibt alles in einer Zeile, was Sie nicht gewünscht haben. 

1
Donncha

In meinem Fall enthielten einige leere Zeilen das Unicode-Zeichen Nullbreite (U + 200b). Um leere Zeilen, einschließlich der mit diesem Unicode-Zeichen, zu entfernen:

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

Versuchen Sie mit Suchen/Ersetzen, eine Auswahl einzufügen, die am Ende der Zeile oberhalb der Leerzeile beginnt und am Anfang der Zeile nach dem Leerzeichen endet. Dies funktioniert für eine einzelne leere Zeile. Sie können den Vorgang auch für mehrere Leerzeilen wiederholen. STRG-H, geben Sie Ihre Auswahl in das Suchfeld ein und fügen Sie einen einzelnen Zeilenumbruch durch Kopieren/Einfügen oder eine andere Methode in das Ersetzungsfeld ein.

0
Clayton Loudon