vim ha una modalità "eol" (per fine riga) per dire cosa fare se l'ultima riga nel file manca di un carattere di nuova riga . Puoi vedere tutte le impostazioni della modalità in vim (o qualsiasi programma come vi) di
:set all
POSIX vi non ha una funzione per questo: i file sono di lunghezza zero o hanno una nuova riga finale. Questo perché POSIX vi si occupa solo di file di testo, che per definizione sono linee che terminano con nuove righe. In un rapido controllo, nvi ed elvis non hanno modalità per questo. Nel mio commento, avevo dimenticato un dettaglio di vim: a differenza di vile, un ": set list" non mostra prontamente la newline mancante. Ecco cosa vedo in vim:
ssss$
test$
~
~
mentre in vile:
ssss^J
test
~
~
Per entrambi gli editor, puoi leggere il file, cambiare la modalità , ad es.
:set noeol
e scrivere il file, per ottenere una nuova riga sul file aggiornato. Invece di mostrarlo direttamente, è possibile modificare la riga di stato di VIM per mostrare queste informazioni. Per impostazione predefinita, non sembra farlo, ma alcuni packager lo hanno personalizzato, ad es.
"foo" [noeol] 2L, 9C 1,1 All
Uno dei commenti suggerisce di usare il "?" modificatore del set
comando, ad es.
:set eol?
che potrebbe mostrare qualcosa del genere:
noendofline 2,1 All
ma in modalità inserimento, viene sostituito da
-- INSERT -- 2,1 All
quindi la riga di stato sembra il posto giusto per conservare queste informazioni.
Le funzionalità ci sono da un po ':
La eol
funzionalità è apparsa per la prima volta in vim 2.4 (luglio 1994), secondo un commento nel suo codice sorgente.
La newline
modalità di vile apparve nel luglio 1993 .
( nvi, elvis, vim e vile gestiscono tutti i file binari oltre ai file di testo di POSIX vi ).