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.