Volt
00000000

Anleitung

Zeilenenden auf dem Mac umwandeln (CRLF und LF)

Windows beendet eine Zeile mit zwei Zeichen, alle anderen mit einem, und eine Datei, die durch beide Welten gegangen ist, ist oft eine Mischung. Git warnt, Skripte scheitern, und in einem Diff leuchtet jede Zeile auf. Hier steht, wie Sie sehen, was eine Datei verwendet, und wie Sie es ändern.

Im Terminal

file notiz.txt meldet „with CRLF line terminators“, wenn es welche findet. cat -e notiz.txt zeigt am Ende jeder Windows-Zeile ein ^M$. Um CRLF in LF umzuwandeln, funktioniert sed -i '' 's/\r$//' notiz.txt mit dem sed, das macOS mitbringt; dos2unix und unix2dos sind nicht vorinstalliert, aber nur ein brew install dos2unix entfernt.

All das ändert jede Zeile und sagt nichts über eine Datei, die gemischt war, oder über eine, deren Zeilen ganz anders enden.

In Volt

Die Statusleiste sagt, welches Zeilenende eine Datei verwendet — LF, CRLF oder CR — und sagt, wenn eine Datei gemischt ist. Ein Klick darauf wandelt um; die Umwandlung ist eine widerrufbare Bearbeitung, und das nächste Sichern schreibt sie.

Beim Einsetzen werden die Zeilenenden der Zwischenablage zu denen dieser Datei, sodass ein Stück aus einem Windows-Dokument kein CRLF in eine Unix-Datei schmuggelt. „Einsetzen und Formatierung behalten“ (⌃⌘V) lässt sie, wie sie waren.

Das Projekt kann entscheiden. end_of_line aus .editorconfig und eol=lf aus .gitattributes werden beim Öffnen gelesen, und das Projekt hat das letzte Wort. Auch eine Sprache kann festlegen, wie ihre neuen Dateien geschrieben werden.

Die Nachzügler finden. Der Projektbericht listet jede Datei eines Projekts mit ihrem Zeilenende auf, gefiltert auf Nicht LF.

Die Enden, die andere Werkzeuge nicht kennen

Neun Arten insgesamt. NEL (U+0085) kommt von IBM-Mainframes; LS und PS (U+2028 und U+2029) aus Unicode selbst; VT und FF von alten Druckern; und LFCR — CRLF verkehrt herum — von einer Handvoll Systemen, die es andersherum machten. Eine Datei, die durch eines davon getrennt ist, enthält keinen Zeilenvorschub, also öffnen die meisten Werkzeuge sie als eine einzige riesige Zeile. Volt liest sie als Zeilen und schreibt sie mit den Enden zurück, mit denen sie kam, außer Sie wandeln um.

Ein Seitenvorschub gilt als Seitenmarke, nicht als Zeilenende, außer die Datei verwendet ihn offensichtlich so — Emacs setzt sie seit Jahrzehnten in C-Dateien.

Fragen

Wie sehe ich auf dem Mac die Zeilenenden einer Datei?

Im Terminal zeigt cat -e ein ^M am Ende von Windows-Zeilen. In Volt nennt die Statusleiste das Zeilenende und meldet eine gemischte Datei; „Unsichtbare Zeichen einblenden“ markiert jedes einzelne.

Wie wandle ich auf dem Mac CRLF in LF um?

Im Terminal: sed -i '' 's/\r$//' datei. In Volt: auf das Zeilenende in der Statusleiste klicken und LF wählen; das ist eine widerrufbare Bearbeitung, geschrieben beim nächsten Sichern.

Was ist eine Datei mit gemischten Zeilenenden?

Eine, in der manche Zeilen mit CRLF und andere mit LF enden, meist, weil sie auf zwei Systemen bearbeitet wurde. Volt meldet sie beim Öffnen, und das Umwandeln macht jede Zeile gleich.

Stört das Git?

Git warnt vor CRLF, wenn core.autocrlf oder .gitattributes das verlangen. Volt liest die eol-Einstellung aus .gitattributes und hält sich daran.

Was ist das Zeilenende NEL?

U+0085, das Zeilenende von Texten auf IBM-Mainframes. Die meisten Editoren kennen es nicht; Volt liest und schreibt es, ebenso LS, PS, VT, FF und LFCR.

Öffnen Sie die Datei, über die Git sich beschwert

Volt ist in der kostenlosen Beta. Laden Sie ihn jetzt — ohne Konto, ohne Anmeldung — und probieren Sie ihn an der Datei aus, um die es geht. Jeder Build läuft sieben Tage, und jedes Update gibt weitere sieben.

Volt für Mac laden

macOS 13 oder neuer, Apple Silicon. Etwa 8 MB, signiert und notarisiert. Alle Funktionen · was sich in diesem Build geändert hat.

Verwandte Anleitungen