Одна из странностей vim заключается в том, что в конце файла не отображается пустая строка, если файл заканчивается символом новой строки. Таким образом, если файл не заканчивается новой строкой, отображение будет таким же, только с [noeol]
маркером на моделине.
Emacs, с другой стороны, отображает последнюю строку, если файл заканчивается новой строкой, и не делает иначе.
Хотя поведение Emacs принципиально более разумно, к лучшему или худшему, я привык к первому.
Есть ли способ подавить отображение последней пустой строки, при этом все же требуя, чтобы файл был завершен новой строкой?
На скриншоте показаны три окна (если изображение слишком маленькое, просмотрите изображение на новой вкладке):
Слева находится большое окно emacs
hexl-mode
, показывающее, что в конце файла действительно есть новая строка (0a, где находится курсор).Окно Emacs в правом верхнем углу, с курсором на пустой третьей строке.
Окно Vim в правом нижнем углу с курсором на последней текстовой строке. Курсор не может двигаться ниже этой точки, даже если файл заканчивается новой
[noeol]
строкой (на строке состояния vim нет маркера).
emacs -Q
, должно быть что-то в вашем файле инициализации.