Sto cercando un modo per aggiungere una nuova finestra divisa a tutta altezza a una configurazione di finestra esistente (suddivisa). Poiché non so come spiegarlo correttamente, posterò solo alcuni elementi grafici ASCII che mostrano il comportamento desiderato per due configurazioni di finestre di esempio:
from to +-------------------------+ +---------------------+---+ | | | | | | | | | | | A | => | A | E | | | | | | | | | | | +-------------------------+ +---------------------+---+ +------------+------------+ +----------+----------+---+ | | B | | | B | | | A +------------+ | A +----------+ | | | C | => | | C | E | +------------+------------+ +----------+----------+ | | D | | D | | +-------------------------+ +---------------------+---+
dove la funzione accetta la larghezza desiderata della nuova finestra E
e riduce la larghezza di A
, B
, C
e D
di conseguenza. Modifica2 : Nota che i due disegni sopra sono esempi del comportamento previsto per un caso concreto. Sto cercando una funzione generale che lo fa indipendentemente dalla configurazione nella colonna from (cioè il numero di windows [split] nella colonna from dovrebbe essere arbitrario).
Sto anche cercando questa funzionalità sul lato sinistro e nella parte superiore e inferiore di una cornice.
Modifica: dal commento di @ Nsukami_ mi sono reso conto che la funzionalità che sto cercando è un caso speciale di un problema più astratto. Quindi esprimerò quel problema:
Come si memorizza una configurazione della finestra (composta da un numero qualsiasi di finestre e buffer) e si "incolla" la configurazione memorizzata in una finestra esistente?
La "incolla" dovrebbe quindi preservare le dimensioni relative della finestra e la divisione; naturalmente la configurazione incollata risultante è una copia in scala.
A
, B
, C
, e D
) e poi inserto questo layout in una nuova finestra? Quindi il mio problema potrebbe essere risolto da 1) memorizzazione della configurazione della finestra corrente, 2) modifica del layout per mostrare solo una finestra che viene quindi divisa orizzontalmente [essenzialmente formando la finestra per E
e la finestra segnaposto per le altre, chiamiamola Z
], 3 ) infine l'inserimento del layout originale nella finestra di sinistra ( Z
)
split-window-right
asC-u -width C-x 3
. Cambia ilwidth
come vuoi e nota il segno negativo.