Wie ändere ich die Größe von Emacs-Fenstern mit geteiltem Bildschirm?

12

Wenn ich Emacs horizontal geteilt habe und oben bearbeite ich Elisp-Code und unten bin ich in der Shell. Standardmäßig macht Emacs die beiden Fenster gleich groß, aber ich möchte, dass der Shell-Puffer kleiner wird. Ich fragte mich, wie ich das machen könnte.

Ursprüngliche Frage von Steve zu SO: Wie ändere ich die Größe von Emacs-Fenstern mit geteiltem Bildschirm?

Luke Shimkus
quelle
4
Duplizieren wir absichtlich Fragen von SO? stackoverflow.com/questions/4987760/…
phils
@phils, nein war ich nicht. Aber ich werde einen Link zum Beitrag machen. Vielen Dank für den Einblick.
Luke Shimkus
darüber hinaus war das ein bisschen zu einfach :)
Nsukami _
1
Gee, tolle Bearbeitung @King. Jetzt ist diese Frage wirklich anders geworden als die, die Sie kopiert haben ...
rsenna
2
Ich denke, dass die Emacs-bezogenen Fragen zu SO migriert werden sollten. Es wird den (winzigen) Aufruhr vermieden haben
Nsukami _

Antworten:

18

C-x-( shrink-window-if-larger-than-buffer) um ein Fenster auf seinen Inhalt zu verkleinern.

C-x+( balance-windows) um Fenster gleich hoch und breit zu machen.

C-x^( enlarge-window), um die Höhe um 1 Zeile oder den Präfix-Arg-Wert zu erhöhen. Ein negatives Argument verkleinert das Fenster. Beispiel:C-u - 3 C-x ^

C-x{( shrink-window-horizontally)

C-x}( enlarge-window-horizontally)

Nsukami _
quelle
+1 für den Verkleinerungsbefehl. Ich suchte nach einer Möglichkeit, um eine einzelne Linie zu schrumpfen. Was ist C-u?
Vass
3
@Vass C-ubeginnt ein numerisches Argument für den folgenden Befehl. Wenn Sie den gleichen Befehl fünfmal erhöhen möchten, anstatt ihn fünfmal C-u 5 C-x ^
einzugeben
1
Es ist auch erwähnenswert, dass der C-uStandardwert 4 ist, was bedeutet, dass C-u C-x ^dies dasselbe tut wie C-u 4 C-x ^.
Ramnes
7

Ich würde auch empfehlen, entweder das windresizePaket von ELPA oder das windsizePaket von MELPA zu überprüfen .

Mit windresizekönnen Sie die M-x windresizeFenstertasten einfach mit den Pfeiltasten verschieben und anschließend die EINGABETASTE drücken, wenn Sie fertig sind.

Lee H.
quelle
3

Sie können C-x^( enlarge-window) im oberen Fenster verwenden, um es zu vergrößern (und damit das untere Fenster zu verkleinern).

Mit der Maus können Sie auch die Modelllinie des oberen Fensters ziehen, um die Größe zu ändern.

François Févotte
quelle
Tolle Idee, ein weiteres Fenster zu verkleinern, indem Sie das darüber liegende vergrößern!
Vass
0

Beachten Sie auch, dass Sie wie in einem Fenstersystem die Maus im xterm-mouse-Modus verwenden können, um den Fensterteiler zu ziehen.

Beachten Sie, dass dies manchmal ein wenig vom eigentlichen xterm- oder xterm-ähnlichen Programm abhängt und dass iirc in älteren Emacsen über die 100. Spalte hinaus nicht zuverlässig war, es sei denn, Sie haben ein wenig mit der Umgebungsvariablen TERM gespielt, sondern in meinem Emacs 24.2 .1 es funktioniert gut mit emacs -nw -q (dh meine .emacs werden völlig ignoriert und der xterm-mouse-Modus wird manuell aktiviert mit M-x xterm-mouse-mode)

Update: Der Vollständigkeit halber möchte ich darauf hinweisen, dass dies auch für vertikale Teiler funktioniert (dh wenn Sie mit geteilt haben C-x 3)

Mark Aufflick
quelle
0

Ich habe jemals einen einfachen Moll-Modus (für meinen persönlichen Gebrauch) interaktiv geschrieben resize-frame. Ich denke, das sollte bequem sein.

https://gist.github.com/kuanyui/65a408d393871048771c

M-x resize-frameum den resize-frameMoll-Modus zu aktivieren :

  1. Drücken Sie arrow keys, um die Größe horizontal / vertikal anzupassen.
  2. Drücken Sie zum Deaktivieren eine beliebige andere Taste.
kuanyui
quelle