One of vim's quirks is that it doesn't show an empty line at the end of a file if the file ends with the newline character. This way, if the file doesn't end with a newline, the display is the same, only with the [noeol]
marker in the modeline.
Emacs on the other hand, displays the last line if the file ends with a newline, and doesn't otherwise.
While Emacs' behaviour is fundamentally more sensible, for better or worse, I've gotten used to the former.
Is there any way to suppress the display of the last empty line, while still requiring that the file be newline terminated?
The screenshot shows three windows (view image in new tab if too small):
Large emacs window on the left in
hexl-mode
, showing you that there really is a newline at the end of the file (0a, where the cursor is positioned).Emacs window on top right, with cursor on the empty third line.
Vim window on bottom right, with cursor on the last text line. The cursor cannot move below this point, even though the file ends with a newline (there is no
[noeol]
marker on the vim statusline).
emacs -Q
, it must be something in your init file.