Jednym z dziwactw Vima jest to, że nie pokazuje pustej linii na końcu pliku, jeśli plik kończy się znakiem nowej linii. W ten sposób, jeśli plik nie kończy się na nowej linii, wyświetlanie jest takie samo, tylko ze [noeol]
znacznikiem w modeline.
Emacs, z drugiej strony, wyświetla ostatni wiersz, jeśli plik kończy się na nowej linii, i nie inaczej.
Podczas gdy zachowanie Emacsa jest zasadniczo bardziej rozsądne, na lepsze lub gorsze, przyzwyczaiłem się do tego pierwszego.
Czy jest jakiś sposób, aby ukryć wyświetlanie ostatniej pustej linii, jednocześnie wymagając, aby plik został zakończony nową linią?
Zrzut ekranu pokazuje trzy okna (jeśli obraz jest zbyt mały, wyświetl obraz w nowej karcie):
Duże okno emacs po lewej stronie
hexl-mode
, pokazujące, że na końcu pliku naprawdę znajduje się nowa linia (0a, w której znajduje się kursor).Okno Emacsa w prawym górnym rogu, z kursorem w pustej trzeciej linii.
Okno Vima w prawym dolnym rogu, z kursorem w ostatnim wierszu tekstu. Kursor nie może poruszać się poniżej tego punktu, nawet jeśli plik kończy się nową linią (
[noeol]
na linii statusu vim nie ma znacznika).
emacs -Q
, musi to być coś w twoim pliku init.