Información básica
Vim no muestra la última línea nueva en el búfer, pero en realidad vim siempre coloca EOL al final del archivo cuando lo escribe, porque es estándar para archivos de texto en sistemas Unix. Puede encontrar más información sobre esto aquí . En resumen, no tiene que preocuparse por la ausencia de nuevas líneas al final del archivo en vim.
Experimento 1
Puede hacer este pequeño experimento para verificar este comportamiento. En la terminal ejecute:
$ vim test_test
Ingrese el carácter 1
y guarde el archivo :wq.
Solo tienes un personaje en el archivo, ¿verdad? En realidad no :) Ahora tienes en tu archivo 1
y LF
personajes. Vamos a verlo, con la utilidad hexdump:
$ hexdump test_test
0000000 31 0a
0000002
31
es el código ASCII para el carácter 1
y 0a
es el código ASCII para el LF
carácter que no se imprime , que para UNIX, como ya conoce el código para el final de línea.
Experimento 2
Pero, ¿qué pasa si abrimos un archivo que no tiene eol
símbolo al final del archivo? Vamos a verlo también. Creemos un archivo sin eol al final, por ejemplo así:
$ echo -n "1" > test_without_eol
Entonces, nuevamente miremos dentro con hexdump:
$ hexdump test_without_eol
000000 31
0000001
Entonces no hay ningún eol
personaje aquí. Abramos este archivo en vim:
$ vim test_without_eol
En la parte inferior del editor, verá:
"test_without_eol" [noeol] 1L, 1C
Y si guarda este archivo, el eol
carácter se pondrá automáticamente.
¿Qué podemos hacer al respecto?
Si realmente necesita ver el final del archivo. Intenta usar este comando:
:set listchars=eol:$
mostrará todos los eol
caracteres como $
signo.