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?

Arkonix
quelle

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.

romainl
quelle
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,