Notizblock ignoriert Zeilenumbrüche

88378
Damon

Die meisten Dokumente, die ich in notepad.exe unter Windows 7 öffne, gibt es keine Zeilenumbrüche ... alles läuft einfach zusammen. Dieselben Dokumente in einem anderen Programm, auch direkt in Explorer angezeigt, zeigen die Zeilenumbrüche korrekt an. Dies geschieht mit vielen .info-Dateien, .css, .js .. aber nicht allen.

Ich vermute, es ist eine Art Zeichencodierung von Unix-Zeilenenden oder so, aber ich frage mich, ob es irgendetwas gibt, das ich tun kann oder ob jemand anderes etwas Ähnliches erlebt hat und ob ich den Notizblock richtig arbeiten kann. Ich ziehe es vor, Notepad ++ / andere Texteditoren für bestimmte Zwecke zu verwenden.

34
Siehe https://stackoverflow.com/a/50241693/6309: Notepad unterstützt \ n jetzt (Windows 10, Q2 2018) VonC vor 5 Jahren 0

7 Antworten auf die Frage

41
Paul

Es gibt Zeilenumbrüche, jedoch erkennen unterschiedliche Betriebssysteme unterschiedliche Sequenzen für Zeilenumbrüche.

Notepad erkennt nur CR, LF (0x0d, 0x0a), während andere Quellen möglicherweise nur CR oder nur LF verwenden.

Sie können Notepad nicht dazu bringen, sich anders zu verhalten. Sie können also nur sicherstellen, dass der Inhalt die richtige Reihenfolge für Notepad aufweist. Beachten Sie, dass Notepad der einzige Editor mit dieser Einschränkung ist. Wenn Ihre Inhalte in Notepad funktionieren, funktionieren sie auch überall.

Eine einfache Möglichkeit, die Zeilenvorschübe zu korrigieren, besteht darin, den Text in Word zu kopieren und wieder in den Editor einzufügen. Die Zeilenvorschübe werden dann in der CR / LF-Sequenz "korrigiert".

Aha! klingt ein bisschen, als wäre ein Notizen-Notepad viel einfacher; P Damon vor 12 Jahren 30
Absolut (Polsterung). Paul vor 12 Jahren 0
Ich habe einen Text aus NP ++ in den Editor (Win) kopiert / eingefügt. Da es nicht richtig codiert wurde, ignoriert Notepad meine Zeilenumbrüche. Ich habe die Kodierung in NP ++ auf "UTF-8" gesetzt und alles funktioniert gut. Vielen Dank :) Arkana vor 10 Jahren 0
Ich finde es wirklich verwirrend, dass diese zwanzig Jahre alte Einschränkung noch nie behoben wurde ... Haroldo_OK vor 7 Jahren 3
Vielen Dank für das Wordpad zurück zum Notepad-Hinweis! Dies ist ein sehr praktischer und einfacher Trick, der in einer reinen Windows-Installation funktioniert, ohne dass Sie sich an benutzerdefinierten Code erinnern oder diesen installieren müssen! bambams vor 7 Jahren 0
Das ist interessant, wenn Ihr Text nur LF-Zeichen enthält und Sie diese in WordPad-, NotePad ++ - Art von Werkzeugen unter Windows einfügen. Diese Apps werden "automatisch" "korrigiert", da Sie vor jedem LF CR hinzufügen. Ich verwende einige Hex-Werkzeuge, um die tatsächlichen Daten zu sehen. Dies ist ein Online-Modus: `hexed.it /`. Selbst @RichTextBox im Microsoft SDK beendet Zeilen nur mit LF. @TextBox funktioniert jedoch standardmäßig für Windows Forms-Anwendungen wie ein Notizblock. Warum ist es so konzipiert, dass ich keine Ahnung habe, aber so bin ich zu dieser SO-Frage gekommen. Davut Gürbüz vor 7 Jahren 0
Das Kopieren und Einfügen in den Notepad-Trick funktioniert nicht mit schreibgeschützten Textdateien. Es ist nur nützlich, wenn Sie es speichern können. Nothing Notepad scheint am besten. Kyle Delaney vor 7 Jahren 0
@ DavutGürbüz WordPad korrigiert es möglicherweise und fügt die CR hinzu (`\ r`), aber meiner Erfahrung nach fügen Notepad ++ und die meisten anderen Editoren CRs nicht automatisch hinzu, sie wissen nur, wie man LFs richtig anzeigt. Wenn ich beispielsweise nur LF-Code in Notepad ++ einfügen, ihn dann von dort kopieren und in den regulären Editor einfügen, wird er immer noch in einer einzigen Zeile angezeigt, da CRs noch fehlen Ken Bellows vor 7 Jahren 0
@kenbellows Meiner Meinung nach war es interessant, dass sich Apps aufgrund ihrer zugrunde liegenden Komponenten anders verhalten. Wenn Sie nur [CR] -Daten von Notepad nach Notepad ++ hinterlassen, wird [LF] hinzugefügt. Wenn Sie jedoch eine Datei aus dem Dialog öffnen, wird sie angezeigt. Davut Gürbüz vor 7 Jahren 0
Mit Wort öffnen, speichern, dann mit Notizblock öffnen ... kein Kopieren und Einfügen erforderlich Gavin Palmer vor 6 Jahren 1
Ich denke, Sie müssen aus "One simple Way ..." fett schreiben, damit die Leute CR und LF und all das nicht lesen müssen. Waqas Bukhary vor 6 Jahren 0
@WaqasBukhary Sie können gerne Antworten bearbeiten, um sie zu verbessern Paul vor 6 Jahren 0
Ich kann bearbeiten, habe aber nicht die Berechtigung, weniger als 6 Zeichen zu bearbeiten. Waqas Bukhary vor 6 Jahren 0
Gute Nachrichten, die Technologie wird [endlich eintreffen] (https://blogs.msdn.microsoft.com/commandline/2018/05/08/extended-eol-in-notepad/). mkobit vor 5 Jahren 1
9
RedGrittyBrick

Wordpad

Wenn Ihre Abneigung gegen Notepad ++ und andere Texteditoren ist, dass sie nicht zu allen Windows-Systemen gehören, verwenden Sie Wordpad. Es ist nicht so rudimentär wie Notepad.

Wordpad liest und zeigt Textdateien mit Unix-Zeilenenden korrekt an.

Andere

Wenn Sie beide Ein-Text-Editoren ablehnen, ist Notepad ++ wahrscheinlich eine gute Wahl.

mein problem mit notepad ++ für wirklich schnelles betrachten / bearbeiten ist eigentlich, dass es mehrere dokumente offen hält, wenn ich sie nicht ausdrücklich schließe; fühlt sich einfach nicht richtig für diese Verwendung. Ich kann nur Texttyp-Dateien mit Worpad verknüpfen und sicherstellen, dass sie sich in meinem "Öffnen mit ..." -Menü befinden. Damon vor 12 Jahren 0
Für alle, die diese Jahre später lesen, können Sie diese Funktion in den Voreinstellungen deaktivieren. Dies ähnelt "Aktuelle Sitzung für nächsten Start speichern". Uberfuzzy vor 9 Jahren 2
@Damon Ich habe dieses Verhalten auch gehasst, aber Sie können es deaktivieren. Sie müssen Notepad ++ nur konfigurieren, um alte Sitzungen nicht erneut zu öffnen. Gehen Sie zu Einstellungen -> Einstellungen -> Backup. Deaktivieren Sie "Aktuelle Sitzung für nächsten Start speichern". Bacon Bits vor 9 Jahren 2
Ich würde sagen, dass es nicht so sehr darum geht, dass der Texteditor mit Windows portiert wird, sondern dass Windows mindestens einen anständigen Texteditor bereitstellt. Ich würde weder MS Word noch WordPad als "Texteditoren" zählen, da diese Tools eher dazu dienen, Berichte zu erstellen als Text zu bearbeiten. Text wird nicht unbedingt mit Seiten geliefert oder muss auf Seiten passen. Noch in 2018 und Windows 10 habe ich nichts davon gefunden. patrik vor 5 Jahren 0
5
MD XF

Sie könnten ein einfaches Batch-Skript schreiben :

@ECHO OFF TYPE %1 | FIND /V "" >%1.1 MOVE %1.1 %1 > NUL 2>&1 START "NOTEPAD" C:\WINDOWS\SYSTEM32\NOTEPAD.EXE %1 EXIT /B 

Speichern Sie dies als notepad.batbeliebiges Verzeichnis. Dann öffnen Sie Ihre .info/ .css/ .js-Dateien nicht mit Notepad, sondern öffnen Sie sie mit diesem Batch-Skript. Es werden automatisch alle Unix-Zeilenenden in DOS konvertiert und dann die Datei mit Notepad geöffnet.

Nachteile:

  • Jedes Mal, wenn Sie das Programm öffnen, fügt es am Ende der Datei eine neue Zeile an. (Festgelegt durch @mpag )
  • Öffnet ein Eingabeaufforderungsfenster ( STARTin Zeile 4 behoben )
  • Ändert das Erstellungsdatum der Datei auf das aktuelle Datum
Lassen Sie uns [diese Diskussion im Chat fortsetzen] (http://chat.stackexchange.com/rooms/58540/discussion-between-mpag-and-md-xf). mpag vor 6 Jahren 0
eine andere empfehlung. Ersetzen Sie die Zeile "Start" durch "START" NOTEPAD ""% SystemRoot% \ System32 \ NOTEPAD.EXE "% 1", um für diejenigen Verrückten zu verallgemeinern, die D als Stammlaufwerk oder WinNT für ihr Windows-Verzeichnis haben. mpag vor 6 Jahren 0
@mpag Sicher, außer ich habe nicht das Bedürfnis, das in meine Antwort zu integrieren. Jeder, der so wackelig ist, dass sein Stammverzeichnis nicht `C:` ist, wird von mir nicht unterstützt. "C:" war der Standard, seit DOS 1981 herauskam. MD XF vor 6 Jahren 0
Zeitstempel erhalten: `mkdir% 1.dir`` TYPE% 1 | FIND / V "">% 1.dir \% 1 `` robocopy. % 1.dir% 1 / copy: t> NUL 2> & 1; `Bewegen Sie% 1.dir \% 1. > NUL 2> & 1` `rmdir% 1.dir` mpag vor 6 Jahren 1
Oder verwenden Sie einfach dieses bereits vorhandene Dienstprogramm (https://en.wikipedia.org/wiki/Unix2dos). mbomb007 vor 5 Jahren 0
3
rgocs

Sie müssen den in der Datei verwendeten Typ der Zeilenumbruchcodierung ändern.

In Linux gibt es ein Programm namens "unix2dos", das das für Sie tun kann. Ich bin nicht sicher, ob Windows mit einem solchen Programm geliefert wird, es scheint jedoch ein ähnliches Programm hier zu sein: http://www.thefreecountry.com/tofrodos/

Weitere Informationen zu diesem Vorgang finden Sie in Wikipedia: http://en.wikipedia.org/wiki/Unix2dos. Dort können Sie Beispiele für verschiedene Befehlszeilenprogramme erhalten, die die Änderung durchführen können.

Wenn Sie Sublime installiert haben, können Sie `View-> Line endings -> Windows` auswählen und die Datei dann speichern, um sie zu überschreiben. In diesem Fall werden die Unix-Zeilenenden in das Windows-Format umgewandelt. Wenn Sie diese gespeicherte Datei in Notepad öffnen, werden die Zeilenenden korrekt angezeigt. Junior M vor 10 Jahren 0
3
Huendli

Da Notepad ++ speziell im OP erwähnt wurde, hat es (zumindest jetzt) ​​die erforderliche Einstellung unter:

Bearbeiten -> EOL-Konvertierung -> Windows-Format.

1
MD XF

Eine andere Sache, die Sie tun könnten: Öffnen Sie die Datei in WordPad und speichern Sie sie. Die Zeilenenden werden korrigiert. Dies ist die schnellste Methode.

1
0b10011

Sie sind richtig, dass es ein Problem mit Unix-Zeilenenden ist. Es gibt mehrere verschiedene Zeilenenden, aber die drei häufigsten sind:

  • U+000A LINE FEED (LF): Unix, Linux, MacOS usw
  • U+000D CARRIAGE RETURN (CR): klassisches Mac OS unter anderem
  • U+000D CARRIAGE RETURNgefolgt von U+000A LINE FEED(CRLF): Windows und andere Nicht-Unix / IBM-Betriebssysteme

Ältere Versionen von Notepad erkennen nur CRLF, aber neuere Versionen unterstützen CRLF, CR und LF .

Es gibt keine Einstellung, um dieses Verhalten in älteren Versionen von Notepad zu ändern, aber Sie können das alte Verhalten in der neuen Version wiederherstellen . Die meisten anderen Mainstream-Programme haben bereits seit geraumer Zeit mit allen drei Zeilenenden gearbeitet. Wenn Ihre Inhalte in älteren Notepad-Versionen funktionieren, sollte dies jedoch auch an anderen Stellen funktionieren.