vim hat den Modus "eol" (für Zeilenende), um anzugeben , was zu tun ist , wenn in der letzten Zeile der Datei kein Zeilenumbruchzeichen vorhanden ist . Sie können alle Moduseinstellungen in vim (oder einem anderen Programm wie vi) von sehen
:set all
POSIX vi nicht über eine Funktion für diesen: Datei entweder die Länge Null ist, oder hat ein Newline. Dies liegt daran, dass POSIX vi nur Textdateien behandelt, bei denen es sich per Definition um Zeilen handelt, die mit Zeilenumbrüchen enden. Bei einer schnellen Überprüfung haben nvi und elvis keine Modi dafür. In meinem Kommentar hatte ich ein Detail von vim vergessen: Im Gegensatz zu vile zeigt eine ": set list" die fehlende Newline nicht ohne weiteres an. Folgendes sehe ich in vim:
ssss$
test$
~
~
während in gemein:
ssss^J
test
~
~
Für jeden Editor können Sie die Datei einlesen, den Modus ändern , z.
:set noeol
und schreiben Sie die Datei aus, um eine neue Zeile für die aktualisierte Datei zu erhalten. Anstatt es direkt anzuzeigen, können Sie die Statuszeile von vim ändern , um diese Informationen anzuzeigen. Standardmäßig scheint dies nicht der Fall zu sein, aber einige Packager haben dies angepasst, z.
"foo" [noeol] 2L, 9C 1,1 All
In einem der Kommentare wird die Verwendung des "?" Modifikator des set
Befehls, z.
:set eol?
was so etwas zeigen könnte:
noendofline 2,1 All
aber im Einfügemodus wird das durch ersetzt
-- INSERT -- 2,1 All
Daher scheint die Statuszeile der richtige Ort zu sein, um diese Informationen zu verwalten.
Die Funktionen sind schon eine Weile da:
Das eol
Feature wurde erstmals in Version 2.4 (Juli 1994) veröffentlicht, wie aus einem Kommentar im Quellcode hervorgeht.
Der newline
Modus von vile erschien im Juli 1993 .
( Nvi, elvis, vim und vile alle Griff binären Dateien zusätzlich zu den POSIX vi Text - Dateien).