Basisinformation
Vim zeigt nicht den neuesten Zeilenumbruch im Puffer an, aber tatsächlich platziert Vim EOL beim Schreiben immer am Ende der Datei, da dies für Textdateien in Unix-Systemen Standard ist. Weitere Informationen dazu finden Sie hier . Kurz gesagt, Sie müssen sich keine Gedanken über das Fehlen neuer Zeilen am Ende der Datei in vim machen.
Versuch 1
Mit diesem kleinen Experiment können Sie dieses Verhalten überprüfen. Im Terminal ausführen:
$vim test_test
Geben Sie zum Beispiel nur Zeichen ein 1und speichern Sie die Datei :w.
Sie haben nur ein Zeichen in der Datei, oder? Eigentlich nein :) Du hast jetzt in deiner Datei 1und LFZeichen. Lassen Sie es uns mit dem hexdump-Dienstprogramm überprüfen:
$hexdump test_test
Ausgabe:
0000000 31 0a
0000002
31ist ein ASCII-Code für Zeichen 1und 0aein ASCII-Code für nicht druckbare LFZeichen, die unter UNIX möglicherweise bereits den Code für das Zeilenende kennen.
Versuch 2
Aber was ist, wenn wir eine Datei öffnen, die eolam Ende der Datei kein Symbol hat? Lassen Sie es uns auch überprüfen. Lassen Sie uns am Ende eine Datei ohne eol erstellen, zum Beispiel so:
$echo -n "1" > test_without_eol
und dann schauen wir nochmal mit hexdump hinein
$hexdup test_without_eol
Ausgabe wird sein:
000000 31
0000001
Also gibt es hier keine eolCharaktere. Lassen Sie uns diese Datei in vim öffnen:
$vim test_without_eol
Am unteren Rand des Editors sehen Sie:
"test_without_eol" [noeol] 1L, 1C
Und wenn Sie diese Datei speichern eol, wird der Charakter automatisch geputtet.
Was können wir dagegen tun?
Wenn Sie das Ende der Datei wirklich sehen müssen. Versuchen Sie, diesen Befehl zu verwenden:
:set listchars=eol:$
Es werden alle eolZeichen als $Zeichen angezeigt.