vim a un mode "eol" (pour la fin de ligne) pour dire quoi faire si la dernière ligne du fichier n'a pas de caractère de nouvelle ligne . Vous pouvez voir tous les paramètres de mode dans vim (ou tout programme comme vi) en
:set all
POSIX vi n'a pas de fonctionnalité pour cela: les fichiers sont de longueur nulle ou ont une nouvelle ligne de fin. En effet, POSIX vi ne traite que des fichiers texte, qui sont par définition des lignes se terminant par des retours à la ligne. Dans une vérification rapide, nvi et elvis n'ont pas de modes pour cela. Dans mon commentaire, j'avais oublié un détail de vim: contrairement à vile, une ": set list" ne montre pas facilement la nouvelle ligne manquante. Voici ce que je vois dans vim:
ssss$
test$
~
~
en vile:
ssss^J
test
~
~
Pour l'un ou l'autre éditeur, vous pouvez lire le fichier, modifier le mode , par exemple,
:set noeol
et écrivez le fichier pour obtenir une nouvelle ligne sur le fichier mis à jour. Plutôt que de l'afficher directement, vous pouvez modifier la ligne d'état de vim pour afficher ces informations. Par défaut, cela ne semble pas le faire, mais certains emballeurs l'ont personnalisé, par exemple,
"foo" [noeol] 2L, 9C 1,1 All
L'un des commentaires suggère d'utiliser le "?" modificateur de la set
commande, par exemple,
:set eol?
qui pourrait montrer quelque chose comme ceci:
noendofline 2,1 All
mais en mode insertion, qui est remplacé par
-- INSERT -- 2,1 All
la ligne d'état semble donc le bon endroit pour conserver ces informations.
Les fonctionnalités existent depuis un certain temps:
La eol
fonctionnalité est apparue pour la première fois dans vim 2.4 (juillet 1994), selon un commentaire dans son code source.
vile's newline
mode est apparu en juillet 1993 .
( nvi, elvis, vim et vile gèrent tous les fichiers binaires en plus des fichiers texte de POSIX vi ).