Eine der Besonderheiten von vim ist, dass am Ende einer Datei keine leere Zeile angezeigt wird, wenn die Datei mit dem Zeilenumbruchzeichen endet. Wenn die Datei nicht mit einem Zeilenumbruch endet, ist die Anzeige auf diese Weise dieselbe, nur mit der [noeol]
Markierung in der Modellreihe.
Emacs hingegen zeigt die letzte Zeile an, wenn die Datei mit einer neuen Zeile endet, und nicht anders.
Während Emacs Verhalten grundsätzlich vernünftiger ist, zum Guten oder Schlechten, habe ich mich an das erstere gewöhnt.
Gibt es eine Möglichkeit, die Anzeige der letzten leeren Zeile zu unterdrücken, während die Datei weiterhin beendet werden muss?
Der Screenshot zeigt drei Fenster (Bild in neuem Tab anzeigen, wenn zu klein):
Das große Emacs-Fenster links in
hexl-mode
zeigt Ihnen, dass am Ende der Datei wirklich eine neue Zeile steht (0a, wo sich der Cursor befindet).Emacs-Fenster oben rechts mit dem Cursor in der leeren dritten Zeile.
Vim-Fenster unten rechts mit dem Cursor in der letzten Textzeile. Der Cursor kann sich nicht unter diesen Punkt bewegen, obwohl die Datei mit einer neuen Zeile endet (es gibt keine
[noeol]
Markierung in der vim-Statuszeile).
quelle
emacs -Q
, es muss sich etwas in Ihrer Init-Datei befinden.Antworten:
Lassen Sie mich einen schrecklichen Vorschlag machen, um dies umzusetzen:
(Ich verwende einen lokalen Hook, weil ich vermute, dass das globale Einstellen die Dinge ernsthaft durcheinander bringen könnte. Aktivieren Sie ihn daher besser pro Puffer.)
quelle
Diese sind wahrscheinlich nicht genau das, was Sie wollen, können aber nützlich sein.
Ich verwende den
linum-mode
Nebenmodus in allen meinen Puffern ((global-linum-mode t)
in Ihrer Init-Datei festgelegt). Dies zeigt Zeilennummern nur für die Zeilen an, die am Ende ein Zeilenumbruchzeichen haben.Eine andere Sache, die Sie vielleicht mögen, ist das Aktivieren
whitespace-mode
. Standardmäßig werden graue$
Zeichen auf leeren Zeilen angezeigt , sodass Sie sehen können, welche Zeilen leer sind. Siehe die Emacs Wiki Seite hier .In ähnlicher Weise zeigt Ihnen die Einstellung
indicate-empty-lines
auft
, wo sich die letzte Zeile befindet (siehe Handbuch für Randanzeigen hier ).quelle