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