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 1e salva il file :wq.
Hai solo un personaggio nel file, giusto? In realtà no :) Ora hai nel tuo file 1e LFcaratteri. 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 LFche 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 eolsimbolo 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 eolpersonaggi 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 eolcarattere 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 eolpersonaggi come $segno.