Emacs macht ständig neue Fenster und es hat meinen Tag in letzter Zeit ruiniert. Wie kann ich Emacs anweisen, beim Erstellen von Fenstern die folgenden Richtlinien zu verwenden?
- Vertikale Teilungen bevorzugen
- Unterbrechen Sie die vertikale Aufteilung, wenn die Fenstergröße weniger als 80 Spalten beträgt.
- Unterbrechen Sie die horizontale Aufteilung, wenn das Fenster weniger als 60 Zeilen enthält.
- Wenn ich dieses 6x6-Raster auf meinem 27-Zoll-Monitor erreiche, können Sie Windows wiederverwenden.
Außerdem wäre es mir lieber, wenn meine Fenster immer ausgeglichen wären, aber bei jeder Aufteilung sind die Witwengrößen nicht ausgeglichen. Ich hätte lieber 3 gleich große Fenster als 1 großes und zwei zu kleine! Gibt es eine Einstellung dafür oder einen vernünftigen Ort, um einen Balance-Windows-Rat zu geben?
window-splitting
Expez
quelle
quelle
display-buffer-alist
. Andere reparieren es einfach programmgesteuert nachträglich - z. B.delete-window
undswitch-to-buffer
, vertikal / horizontal geteilt, und so weiter. Außerdem gibt es einige zusätzliche Bibliotheken, mit denen Sie die Fenster verwalten und / oder zum vorherigen Layout zurückkehren können. Ich bevorzuge die erste Option, dh die Quelle zu ändern und sie absolut perfekt zu machen, aber ich gehöre zur seltenen Minderheit der Menschen.split-height-threshold
undsplit-width-threshold
- gnu.org/software/emacs/manual/html_node/emacs/...display-buffer-alist
. Informationendisplay-buffer
zu den Anforderungen einer solchen ACTION-Funktion (und der Liste der Standardfunktionen, deren Code Sie überprüfen können) finden Sie hier. Sie ist jedoch für die Anzeige des Puffers auf die von Ihnen gewünschte Weise verantwortlich (und kann die Fenster anschließend sicher ausgleichen). .Antworten:
Ich benutze die folgenden seit langer Zeit. Möglicherweise müssen Sie es bearbeiten, um Ihrem bevorzugten Stil zu entsprechen.
quelle
Ein bisschen spät, aber weil ich auch danach gesucht habe und keine fertige Lösung gefunden habe:
Sie können Ihre eigene
split-window-sensibly
Funktion definieren .Geben Sie dazu Folgendes in Ihr Feld ein
init.el
:Hinweis: Die Schwellenwerte müssen doppelt so groß sein wie das kleinste zulässige Fenster, da die neuen Fenster jeweils die Hälfte der früheren Fenstergröße verwenden.
Die letzte Zeile weist Emacs an, die definierte Split-Funktion zu verwenden.
quelle
Dadurch bevorzugen Sie vertikale Teilungen
quelle
(setq split-height-threshold nil) (setq split-width-threshold 200)
split-height-threshold
im Grunde nie wollen horizontal geteilt200
Es scheint eine ausreichend hohe Zahl zu sein, die selbst auf einem großen externen Display den Emacs höchstens einmal aufteilt.quelle