F: Wie kann ich eine visuelle Anzeige erhalten, die zwischen dem Ende des Puffers und dem unteren Rand des Fensters unterscheidet?
Anwendungsfall: Ich habe einen Puffer mit einigen Leerzeilen am unteren Rand. Der untere Rand des Fensters hinter den Leerzeilen ist jedoch ebenfalls leer. Ich möchte visuell erkennen können, wo der Puffer endet / Leerzeilen aufhören.
Vim tut dies mit Nicht-Text-Zeichen am unteren Rand eines Fensters (dh den Tildes), um anzuzeigen, dass sich in diesem Bereich nichts im Puffer befindet (z. B. Leerzeilen), wie im folgenden Screenshot dargestellt:
Wie würde man das Analogon dieser Vim-Funktion in Emacs bekommen?
EDIT: @ Glucas Antwort sieht richtig, aber ich würde gerne eine Antwort sehen , die nicht die Fransen nicht verwendet, wie ich meine zu Null gesetzt Platz auf dem Bildschirm auf einem kleinen Laptop - Bildschirm zu speichern.
empty-line
Komponente von,fringe-indicator-list
um anzuzeigen, wo das Ende des Puffers beginnt? Zum Beispiel(setq fringe-indicator-alist '((empty-line . empty-line)))
Fügen Sie zusätzliche Komponenten zum alist nach Wunsch. Diese Methode erfordert jedoch, dass ein Rand sichtbar ist. Siehe auch: reddit.com/r/emacs/comments/2kdztw/…Antworten:
Sie können anpassen
indicate-empty-lines
, um eine Streifenmarkierung in Zeilen nach dem Ende der Datei zu aktivieren, oder aufrufentoggle-indicate-empty-lines
, um sie interaktiv ein- und auszuschalten.Es gibt ein Paket auf MELPA, das die Standard-Randanzeige durch ein ~ ersetzt, um einen Blick zu erhalten, der näher an dem liegt, was Sie mit vi erhalten. Siehe
vi-tilde-fringe
.Aktualisiert
Ein alternativer Ansatz wäre die Verwendung des Leerzeichenmodus, um Zeilenumbrüche sichtbar zu machen. Versuchen Sie es
whitespace-newline-mode
, möglicherweise daswhitespace-newline
Gesicht zu optimieren . Visuell ist dieser Ansatz beschäftigter als das, was vi tut, da Sie alle Zeilen im Puffer mit Ausnahme der leeren Zeilen nach dem Inhalt markieren , aber ein ähnliches Ergebnis erzielt. (Möglicherweise können Sie auch den Whitespace-Modus oder einen benutzerdefinierten abgeleiteten Modus so konfigurieren, dass nur leere Zeilen am Ende des Pufferinhalts hervorgehoben werden.)quelle
Ich habe ein Paket geschrieben, char-font-lock , das (unter anderem) leere Zeilen am Ende eines Puffers hervorhebt.
Außerdem werden die letzte Zeile (falls sie nicht mit einer neuen Zeile endet), das Leerzeichen am Zeilenende, Tabulatorzeichen und Nicht-ASCII-Zeichen hervorgehoben. Sie können auswählen, welche der Dinge Sie hervorheben möchten.
Zum Beispiel:
quelle
Jemand hat ein Paket geschrieben, das eine Überlagerung verwaltet, die sich über den Bereich nach dem Ende der Datei erstreckt:
https://github.com/jmickelin/vim-empty-lines-mode
Beachten Sie jedoch, dass sich diese Lösung zwar korrekter verhält und auch in Terminals funktioniert, jedoch zwangsläufig weniger leistungsfähig und fehlerhafter ist als die Randanzeige.
quelle