Pregunta

Cuando abro un archivo de texto en el Bloc de notas, muestra una línea en blanco si hay un retorno de carro al final de la última línea que contiene texto. Sin embargo, en Vim no muestra esta línea en blanco. Otra cosa que he notado es que el editor de Vim agrega un retorno de carro a la última línea de forma predeterminada (aunque no lo muestra). Puedo decirlo, porque si abro un archivo en el Bloc de notas que se creó en Vim, muestra una línea en blanco al final del archivo.

De todos modos, puedo vivir con estas dos diferencias, pero me pregunto si hay una opción en Vim que te permita alternar este comportamiento.

Gracias

PS - GVim 7.2

[Updatefont>

¿Tendría sentido tener fallas en el servidor?

[Actualización 2]

Reformularé esto ... Necesito saber cuándo hay un retorno de carro al final del archivo de una sola línea (el Bloc de notas muestra una línea adicional sin texto, con Vim que no puedo decir). Esto se debe a un programa Progress que lee un archivo de texto (espera una sola línea, pero con un retorno de carro) y analiza el texto para algún propósito. Si no hay retorno de carro, Progress trata la línea como si fuera nula.

[Solución alternativa] Una forma que he encontrado para asegurarme de que haya un retorno de carro (pero asegúrese de no agregar un segundo) es asegurarme de tener activada la opción de escritura de fin de línea (: set eol) y luego simplemente hacer un escribir / guardar. Esto pondrá un final de línea en el archivo si aún no está allí. De lo contrario, no agrega uno nuevo.

¿Fue útil?

Solución

:help endofline

explica cómo puede evitar que vim agregue una nueva línea adicional.

Otros consejos

Parece que vim trata a la nueva línea como un terminador de línea, mientras que el bloc de notas la trata como un separador de línea: de http://en.wikipedia.org/wiki/Newline

  

También hay cierta confusión si   las nuevas líneas terminan o separan líneas.   Si una nueva línea se considera un   separador, no habrá nueva línea   después de la última línea de un archivo. los   la convención general en la mayoría de los sistemas es   para agregar una nueva línea incluso después de la última   línea, es decir, para tratar la nueva línea como una línea   terminador Algunos programas tienen   problemas para procesar la última línea de un   archivo si no se ha terminado la nueva línea.   Por el contrario, programas que esperan   nueva línea para ser utilizado como separador   interpretar una nueva línea final como comenzando   Una nueva línea (vacía). Esto puede resultar en   se informa un recuento de líneas diferente   para el archivo, pero es lo contrario   generalmente inofensivo.

Si recuerdo correctamente, en sistemas unix-y un archivo de texto debe terminarse con una nueva línea.

Una opción útil de Vim es

set list

Le ayudará a ver todos los caracteres de final de línea (y posiblemente otros caracteres generalmente invisibles). Así podrá ver esta última línea final directamente en Vim y no solo en el Bloc de notas.

Cuando abre el archivo en VIM, la línea de estado debe decir [noeol] después del nombre del archivo. Entonces esa es una indicación. Como Manni , puede cambiar esto desactivando la opción endofline y binario en. Puede establecer esto como su configuración predeterminada en un archivo .vimrc .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top