Una de las peculiaridades de vim es que no muestra una línea vacía al final de un archivo si el archivo termina con el carácter de nueva línea. De esta manera, si el archivo no termina con una nueva línea, la visualización es la misma, solo que con el [noeol]
marcador en la línea de modo.
Emacs, por otro lado, muestra la última línea si el archivo termina con una nueva línea, y no lo hace de otra manera.
Si bien el comportamiento de Emacs es fundamentalmente más sensible, para bien o para mal, me he acostumbrado a lo primero.
¿Hay alguna forma de suprimir la visualización de la última línea vacía, sin dejar de requerir que el archivo se finalice con una nueva línea?
La captura de pantalla muestra tres ventanas (vea la imagen en una pestaña nueva si es demasiado pequeña):
Gran ventana de emacs a la izquierda
hexl-mode
, que le muestra que realmente hay una nueva línea al final del archivo (0a, donde se coloca el cursor).Ventana de Emacs en la parte superior derecha, con el cursor en la tercera línea vacía.
Ventana de Vim en la parte inferior derecha, con el cursor en la última línea de texto. El cursor no puede moverse por debajo de este punto, aunque el archivo termine con una nueva línea (no hay ningún
[noeol]
marcador en la línea de estado de vim).
fuente
emacs -Q
, debe ser algo en su archivo de inicio.Respuestas:
Déjame darte una horrible sugerencia para implementar eso:
(Estoy usando un enlace local porque sospecho que configurarlo globalmente podría estropear las cosas en serio, así que mejor actívelo por búfer)
fuente
Probablemente no sean exactamente lo que desea, pero pueden ser útiles.
Estoy usando el
linum-mode
modo menor en todos mis búferes (establecido(global-linum-mode t)
en su archivo de inicio). Esto muestra números de línea solo para las líneas que tienen un carácter de nueva línea al final.Otra cosa que quizás le guste es habilitar
whitespace-mode
, de manera predeterminada, esto muestra$
signos grises en las líneas vacías, lo que le permite ver qué líneas están vacías. Vea la página Wiki de Emacs aquí .De manera similar, la configuración
indicate-empty-lines
det
le mostrará dónde está la última línea (consulte el manual para ver los indicadores marginales aquí ).fuente