Một trong những điều kỳ quặc của vim là nó không hiển thị một dòng trống ở cuối tệp nếu tệp kết thúc bằng ký tự dòng mới. Theo cách này, nếu tệp không kết thúc bằng một dòng mới, màn hình sẽ giống nhau, chỉ với [noeol]
điểm đánh dấu trong mô hình.
Mặt khác, Emacs sẽ hiển thị dòng cuối cùng nếu tệp kết thúc bằng một dòng mới và không có gì khác.
Mặc dù hành vi của Emacs về cơ bản là hợp lý hơn, dù tốt hay xấu, tôi đã quen với điều này trước đây.
Có cách nào để ngăn chặn việc hiển thị dòng trống cuối cùng, trong khi vẫn yêu cầu tệp bị chấm dứt dòng mới không?
Ảnh chụp màn hình hiển thị ba cửa sổ (xem hình ảnh trong tab mới nếu quá nhỏ):
Cửa sổ emacs lớn ở bên trái
hexl-mode
, cho bạn thấy rằng thực sự có một dòng mới ở cuối tệp (0a, nơi con trỏ được định vị).Cửa sổ Emacs ở trên cùng bên phải, với con trỏ trên dòng thứ ba trống.
Cửa sổ Vim ở dưới cùng bên phải, với con trỏ trên dòng văn bản cuối cùng. Con trỏ không thể di chuyển dưới điểm này, mặc dù tệp kết thúc bằng một dòng mới (không có
[noeol]
điểm đánh dấu trên dòng trạng thái vim).
emacs -Q
, nó phải là một cái gì đó trong tệp init của bạn.