Informazioni basilari
Vim non mostra la nuova riga più recente nel buffer, ma in realtà vim posiziona sempre EOL alla fine del file quando lo scrivi, perché è standard per i file di testo nei sistemi Unix. Puoi trovare maggiori informazioni al riguardo qui . In breve, non devi preoccuparti dell'assenza di una nuova riga alla fine del file in vim.
Esperimento 1
Puoi fare questo piccolo esperimento per verificare questo comportamento. Nel terminale eseguire:
$ vim test_test
Inserisci il carattere 1
e salva il file :wq.
Hai solo un personaggio nel file, giusto? In realtà no :) Ora hai nel tuo file 1
e LF
caratteri. Controlliamolo, con l'utilità hexdump:
$ hexdump test_test
0000000 31 0a
0000002
31
è il codice ASCII per il carattere 1
, ed 0a
è il codice ASCII per il carattere non stampabile LF
che per l'UNIX, poiché potresti già conoscere il codice per la fine della riga.
Esperimento 2
E se apriremo un file che non ha un eol
simbolo alla fine del file. Controlliamo anche noi. Creiamo il file senza eol alla fine, ad esempio in questo modo:
$ echo -n "1" > test_without_eol
Quindi diamo un'occhiata al suo interno con hexdump:
$ hexdump test_without_eol
000000 31
0000001
Quindi non ci sono eol
personaggi qui. Apriamo questo file in vim:
$ vim test_without_eol
Nella parte inferiore dell'editor vedrai:
"test_without_eol" [noeol] 1L, 1C
E se salverai questo eol
carattere di file verrà inserito automaticamente.
Cosa possiamo fare al riguardo?
Se hai davvero bisogno di vedere la fine del file. Prova a usare questo comando:
:set listchars=eol:$
mostrerà tutti i eol
personaggi come $
segno.