Verwirrende Zeilenendezeichen in Vim


0

Wie kann man in Vim anzeigen, ob am Ende der Datei ein Zeilenendezeichen steht?

Wenn der Dateiinhalt '1234' ist, wie von echo -n 1234 > file.txtVim angezeigt (mit :set listOption), '1234 $'.

Wenn der Dateiinhalt '1234 \ n' ist, wie von echo 1234 > file.txtVim, wird erneut '1234 $' angezeigt.

Wie unterscheide ich zwischen diesen beiden verschiedenen Inhalten, wenn sie als gleich angezeigt werden?

Gibt es eine andere Möglichkeit, EOL-Zeichen mit Linux-Standardtools zu überprüfen?

Antworten:


2

Die listOption zeigt nicht an, dass sich in der Endzeile ein EOL-Zeichen befindet, sondern wo sich das Zeilenende befindet.

Wenn der Puffer geladen ist, sollten Sie im ersten Fall so etwas sehen (keine EOL):

"file.txt" [noeol] 1L, 4C

und so etwas im zweiten Fall (EOL):

"file.txt" 1L, 5C

Beachten Sie die [noeol]im ersten Fall und die unterschiedliche Zeichenanzahl.


Aha. Und beim Schreiben in eine Datei in Vim wird EOL automatisch am Ende platziert? Kann das deaktiviert werden?
— Arkonix,

Ja, aber das wäre keine sehr gute Idee.
— Romainl

Ich kenne. Es war nur aus Neugier.
— Arkonix,
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.