Ich suche nach einer Möglichkeit, einer vorhandenen (geteilten) Fensterkonfiguration eine neue Fensteraufteilung in voller Höhe hinzuzufügen. Da ich nicht weiß, wie ich es richtig erklären soll, werde ich nur einige ASCII-Grafiken veröffentlichen, die das gewünschte Verhalten für zwei Beispielfensterkonfigurationen zeigen:
from to +-------------------------+ +---------------------+---+ | | | | | | | | | | | A | => | A | E | | | | | | | | | | | +-------------------------+ +---------------------+---+ +------------+------------+ +----------+----------+---+ | | B | | | B | | | A +------------+ | A +----------+ | | | C | => | | C | E | +------------+------------+ +----------+----------+ | | D | | D | | +-------------------------+ +---------------------+---+
wo übernimmt die Funktion die gewünschte Breite des neuen Fensters Eund schrumpft die Breiten A, B, C, und sich Dentsprechend. Bearbeiten2 : Beachten Sie, dass die beiden obigen Zeichnungen Beispiele für das erwartete Verhalten für einen konkreten Fall sind. Ich suche nach einer allgemeinen Funktion, die dies unabhängig von der Konfiguration in der from- Spalte ausführt (dh die Anzahl der Fenster [Teilungen] in der from-Spalte sollte beliebig sein).
Ich suche diese Funktionalität auch auf der linken Seite und oben und unten in einem Rahmen.
Bearbeiten: Aus @ Nsukamis Kommentar wurde mir klar, dass die Funktionalität, die ich suche, ein Sonderfall eines abstrakteren Problems ist. Also werde ich dieses Problem formulieren:
Wie speichert man eine Fensterkonfiguration (bestehend aus einer beliebigen Anzahl von Fenstern und Puffern) und "fügt" die gespeicherte Konfiguration in ein vorhandenes Fenster ein?
Das "Einfügen" sollte dann die relativen Fenstergrößen und die Aufteilung beibehalten; Natürlich ist die resultierende eingefügte Konfiguration eine skalierte Kopie.
A, B, C, und D) und dann Einsatz dieses Layouts in ein neues Fenster? Dann könnte mein Problem gelöst werden, indem 1) die aktuelle Fensterkonfiguration gespeichert wird, 2) das Layout so geändert wird, dass nur ein Fenster angezeigt wird, das dann horizontal geteilt wird [im Wesentlichen das Fenster für Eund das Platzhalterfenster für die anderen bilden, nennen wir es Z], 3 ) Endlich Einfügen des ursprünglichen Layouts in das linke Fenster ( Z)
split-window-rightas übergeben wirdC-u -width C-x 3. Ändern Sie daswidthzu was Sie wollen und notieren Sie das negative Vorzeichen.