Kurze Frage: Wie gebe ich die Anzahl der Zeichen in einem geteilten Fenster an? Cx-3 Teilt mein Fenster gleichmäßig in zwei Fenster, aber eine nachfolgende Teilung teilt eines der Fenster in zwei Hälften. Ich hätte gerne 3 gleich große Fenster. Die Dokumentation besagt, dass ich in der Lage sein sollte, die Anzahl der Zeichen für den linken Puffer als Parameter anzugeben, aber ich kann nicht scheinen, dass dies funktioniert. Irgendwelche Ideen für die Syntax?
Vielen Dank.
C-x +
um sie gleichmäßig zu verteilenC-x 3
zweimal gefolgt von,C-x +
um alle Fenster gleich zu dimensionieren.quelle
C-x 3 C-x 3 C-x +
?C-x 2 C-x +
für horizontale Aufteilung (gut für vertikalen Monitor)Ich habe folgendes in meinem
.emacs
:(defadvice split-window-horizontally (after rebalance-windows activate) (balance-windows)) (ad-activate 'split-window-horizontally)
Dadurch
rebalance-windows
wirdC-x +
nach jeder Größenänderung ein Emacs-Aufruf ausgeführt ( an den standardmäßig gebunden ist). Es ist nicht das, was ich die ganze Zeit will, aber ich will es viel öfter als das Standardverhalten.quelle
(ad-activate ...)
da Sieactivate
in einem separaten Formular aufgenommen haben.hinzufügen
.emacs
. Ich habe Cx 4 zugeordnet, aber hat jemand eine bessere Idee?(defun split-3-windows-horizontally-evenly () (interactive) (command-execute 'split-window-horizontally) (command-execute 'split-window-horizontally) (command-execute 'balance-windows) ) (global-set-key (kbd "C-x 4") 'split-3-windows-horizontally-evenly)
quelle
C-x 4
. Dies ist das Standardpräfix für einen Haufen anderer Befehle. SieheC-x 4 C-h
(natürlich ohne Ihre Bindung festzulegen).(defun wenshan-split-window-vertical (&optional wenshan-number) "Split the current window into `wenshan-number' windows" (interactive "P") (setq wenshan-number (if wenshan-number (prefix-numeric-value wenshan-number) 2)) (while (> wenshan-number 1) (split-window-right) (setq wenshan-number (- wenshan-number 1))) (balance-windows))
Mit dieser Funktion können Sie das aktuelle Fenster in N Fenster aufteilen. Geben Sie "Cu 3 Mx wenshan-split-window-vertikal" ein, um das gewünschte Ergebnis zu erzielen.
quelle
Wenn Sie das Böse benutzen, tun Sie es
C-x 3
und dannC-w =
quelle
Ich mochte die Lösung von @ quodlibetor, aber sie funktionierte nicht wie geschrieben. Das funktioniert bei mir (emacs 24.5)
(advice-add 'split-window-right :after #'balance-windows)
quelle
Eines der Probleme bei vielen der hier verwendeten Antworten
balance-windows
besteht darin, dass das Fenster möglicherweise nicht geteilt werden kann, weilwindow-min-width
odersplit-width-threshold
sogar wenn nach dem Neuausgleich alles in Ordnung wäre. Zum Beispiel möchte ich keine Fenster mit einer Breite von weniger als 100 Zeichen, aber wenn ich meinen Bildschirm einmal teile, erhalte ich zwei Fenster mit einer Breite von 160 Zeichen, die nicht erneut geteilt werden können, ohne die Größe eines der Fenster zu ändern. Ich habe noch nicht herausgefunden, wie ich feststellen kann, ob eine Aufteilung gut ist, daher werde ich diese Werte beim Aufteilen wahrscheinlich nur dynamisch an 0 binden und dies möglicherweisewindow-configuration-to-register
vorher tun, nur für den Fall, dass ich das alte Layout wiederherstellen kann, wenn die Dinge laufen falsch.quelle