Abrí un archivo usando vim
Ubuntu, y lo siguiente se muestra en la parte inferior de la pantalla:
"file.py" [noeol] 553L, 16620C
¿Qué noeol
indica?
Abrí un archivo usando vim
Ubuntu, y lo siguiente se muestra en la parte inferior de la pantalla:
"file.py" [noeol] 553L, 16620C
¿Qué noeol
indica?
Respuestas:
A los editores de Unix les gusta vi
y vim
siempre colocarán nuevas líneas ( \n
) al final de cada línea, especialmente incluyendo la última línea. Si no hay un final de línea ( eol
) en la última línea, entonces es una situación inusual y el archivo ciertamente no fue creado por un editor estándar de UNIX.
Esta situación inusual es notificada por la [noeol]
bandera en el vim
editor; otros editores probablemente tengan banderas y notificaciones similares.
emacs
mover el cursor al final del archivo (última línea, después del último carácter) y ejecutar kill-line
, en realidad terminas eliminando el eol
.
Que la última línea del archivo no tiene una nueva línea (\ n)
\n
al final de la línea para considerarlo como una línea completa (con un carácter de línea nueva al final). El siguiente ejemplo muestra un archivo que puede parecer una línea completa a simple vista en un editor de texto, pero wc
no lo considera como una línea: printf "x">"file-no-newline"; wc -l <"file-no-newline"
- Outpute es: 0
.. el noeol es solo una ayuda visual para hacerle saber que estado ..
Esto significa que el sistema operativo donde está viendo el archivo no puede detectar el final de línea del archivo (si el archivo tiene alguno). A veces esto ocurre cuando mueve archivos a través de sistemas operativos (i, e .. de MS a * nix os)
En vim, si el archivo tiene retorno de carro de Windows " ^M"
, puede solucionarlo con el siguiente comando: en vim do:
:%s/^M/\r/g
sentido:
% => select the whole buffer
s => Search
/^M/ => find Windows Carrage return.
/\r/ => Replae it with *nix carrage return
Nota: en Mac OX, ^M is ctl+v && ctrl+m
Es 'NO EOL' - sin indicador de fin de línea . Muy útil si termina abriendo un archivo muy grande (> 1GB). Vim intenta tirar de todo eso en 1 línea. Este indicador me ayuda a cerrar rápidamente el archivo antes de que arruine mi sistema operativo.