Verschieben der Moduszeile und des Minipuffers nach oben


12

Kann ich die Moduszeile und den Minipuffer auf irgendeine Weise von unten nach oben auf dem Bildschirm verschieben?

Der Minipuffer wird in der vorherigen Frage behandelt. Wie wird der Inhalt des Minipuffers in der Mitte des Emacs-Frames angezeigt? , so dass diese Frage in erster Linie über die Mode-Linie ist.

Ich habe gerade meinen Laptop fallen lassen und den Bildschirm zerbrochen, kann also in der unteren Reihe nicht viel sehen.


Mit "Statusleiste" meinen Sie die Mode-Zeile oder den Minibuffer?
Malabarba


@ Malabarba Sorry, ich bin nicht 100% auf Emacs Terminologie. Ich meine beides. Ich kann unten auf dem Bildschirm nicht viel sehen.
Mongus Pong

Antworten:


18

Der Inhalt von mode-linewird in der Variablen gespeichert mode-line-format. Emacsunterstützt auch eine Kopfzeile, deren Inhalt von der Variablen gesteuert wird header-line-format.

Im Prinzip können Sie verwenden

(setq header-line-format mode-line-format)
(setq-default mode-line-format nil)

Damit das Format der header-lineZeile mit dem der aktuellen Zeile übereinstimmt, entfernen Sie das Symbol mode-line.

Bearbeiten: Wenn Sie diese Einstellung verwenden möchten, setzen Sie sie dauerhaft

(setq-default header-line-format mode-line-format)

in deiner Init-Datei (danke an nispio für diesen Vorschlag).

Da Sie auch möchten minibuffer, dass das oben angezeigt wird, werde ich @ Malabarbas Antwort auf die Frage, wie der Inhalt des Minipuffers in der Mitte des Emacs-Frames angezeigt wird, erneut verlinken . Dieser kann angepasst werden, um den Minibuffer oben anzuzeigen. Überlegen Sie auch, wie @phils die Frage beantwortet. Ist es möglich, den Emacs-Minipuffer an den oberen Bildschirmrand zu verschieben? auf dem "alten" emacs Tag auf Stackoverflow.

Soweit ich weiß, gibt es keine Möglichkeit, den Minipuffer direkt nach oben zu schieben. Der einzige Ansatz (der auch in den obigen Antworten verwendet wird) ist die Verwendung eines zweiten Frames.


4
Wenn Sie dies zu Ihrer Init-Datei hinzufügen, möchten Sie setq-defaultanstelle von verwenden setq.
Nispio

Darf ich nach dem Grund der Ablehnung fragen?
Elemakil

@elemakil Ohne setq-default war die Antwort falsch. Jetzt ist es richtig. :-)
Malabarba

(obwohl technisch gesehen ist es jetzt unvollständig in Bezug auf die neuen vom Benutzer bereitgestellten Details)
Malabarba

@ Malabarba Ich verstehe. Danke, dass Sie das geklärt haben! :-)
elemakil

4

Ihre eigentliche Frage ist, wie Emacs den fehlerhaften Teil Ihres Bildschirms vermeiden kann. Die Moduszeile und der Minipuffer sind nur das, was dazu neigt, unlesbar zu werden.

Anstatt sie zu verschieben und etwas anderes (wie Text) im unlesbaren Bildschirmbereich zu belassen, verkleinert und verschiebt die sauberere und allgemeinere Lösung den Emacs- Rahmen (dh das, was normalerweise als Fenster bezeichnet wird) so, dass er vollständig im guten Bereich des Fensters enthalten ist Bildschirm.

Wie bei Emacs üblich gibt es dafür spezielle Tools. Die Maxframe-Bibliothek ( Github home ) füllt automatisch den gesamten Bildschirm mit dem Emacs-Frame, mf-set-frame-pixel-sizegenau das Gegenteil von dem, was Sie benötigen. Sie bietet jedoch eine nützliche Funktion, die aus der Init-Datei zusammen mit der Standardfunktion aufgerufen werden kann, um set-frame-positionIhren zu platzieren Rahmen automatisch in die richtige Position, wenn Sie Emacs öffnen.


1
Ich unterstütze deinen Standpunkt. Es ist jedoch nicht notwendig, ein Paket zu hacken. Siehe Standard-Frame-Alist .
Malabarba

@Malabarba Warum wird bei doc.endlessparentheses.com nur der zweite Schrägstrich in ASCII-Code konvertiert? Beispiel: Ich bekomme http://doc.endlessparentheses.com/Var%2F2C-window-width.htmlwenn ich auf 2C-window-width hier .
Kaushal Modi

@kaushalmodi Es ist nur ein kleiner Fehler in der Art und Weise, wie der Index generiert wird. Sie können für Links normale Schrägstriche verwenden, die problemlos funktionieren. Ich habe es lokal behoben, aber die
Neuerstellung

1
@Malabarba: mf-set-frame-pixel-size ist nützlich, da die Standardmethode zum Festlegen der Rahmenhöhe und -breite Zeichen und nicht Pixel ist, was in diesem Szenario nicht sehr praktisch ist. default-frame-alist und seine Verwandten werden ebenfalls in Zeichen angegeben.
Lorenzo Gatti
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.