È necessario suddividere una finestra padre con i riquadri esistenti


1

Diciamo che ho una finestra con due riquadri (dimensione irrilevante, 'A' = attivo)

+-----+-----+
|     |  A  |
|     |     |
|     |     |
|     |     |
+-----+-----+

Se dovessi split-windowotterrei:

+-----+-----+
|     |  A  |
|     |     |
|     +-----+
|     |     |
+-----+-----+

Che normalmente va bene. Ma posso dirgli di dividere la finestra padre invece del riquadro corrente? Per esempio:

+-----+-----+
|     |  A  |
|     |     |
+-----+-----+
|           |
+-----------+

Risposte:


2

Prova questo: :splitw -v -f

Secondo questa descrizione:

L'opzione -f crea un nuovo riquadro che copre l'altezza della finestra intera (con -h) o la larghezza della finestra intera (con -v), anziché dividere il riquadro attivo.

Suppongo che non sia ancora così versatile come il design del "riquadro padre", ma risolverà facilmente molti layout meno complicati.


Sta effettivamente dividendo il riquadro padre, perfettamente versatile.
Matteo

@jgillman Questa dovrebbe essere la risposta corretta.
Chakrit,

0

Risposta originale:
il comando splitw supporta la specifica di una destinazione.
Utilizzare -t per specificare un riquadro.

Ctrl-B: splitw -t 0

Su una nota a margine molto utile:

Ctrl-B q
aiuterà a identificare quale riquadro utilizzare.

Vuoi farlo frequentemente nello stesso riquadro (come il riquadro numero zero, anziché il "riquadro corrente")? Quindi creare un'associazione tastiera.

Espansione per rispondere:
Quanto segue creerà il layout richiesto dall'arte ASCII nella domanda.

(1): Inizia con una nuova finestra. Forse non strettamente necessario, ma l'ho fatto per semplificare i test.
(2): Crea una divisione verticale (Ctrl-B: splitw -h)
(3): Opzionale, ma consigliato: fai qualcosa nel riquadro # 1 in modo che il riquadro appaia diverso, solo così puoi vedere che funziona come previsto. (4): premi Ctrl-B
(5): anche se hai bisogno di due punti, fa parte del seguente testo. Incolla nel seguente testo.

: splitw -t 0; splitw -t 0 -h; selectp -t 1; swap-pane -s 3; selectp -t 1; kill-pane -t 1

(6): premere Invio per eseguire il comando composto.

Nota (7): l'approccio mostrato dipende dai numeri di riquadro specifici, quindi il passaggio (1) è estremamente raccomandato. Non sto dicendo che questa soluzione sia altamente adattabile per altri layout, e quindi la codifica rigida della rilegatura della tastiera può produrre risultati inaspettati in altre situazioni iniziali. Tuttavia, questo mostra come fare ciò che è stato specificamente richiesto, quindi può essere una dimostrazione utile su come farlo manualmente (che è spesso utile quando si progetta un approccio automatizzato a un'attività).
Nota (8): sono piuttosto diffidente nei confronti di questo approccio, in particolare con l'uso di kill-pane. Sembra che potrebbe facilmente portare alla perdita di lavoro se qualcosa non funziona come previsto. Se sei abbastanza coraggioso da voler provare a metterlo in un'associazione chiave, considera l'utilizzo dell'istruzione di conferma, come mostrato con l'associazione predefinita per Ctrl-B x (mostrato con Ctrl-B?).


Apprezzo la tua risposta, ma i tuoi esempi produrranno la divisione solo nel mio primo esempio. Vale a dire, divide ancora solo il riquadro di destinazione, non la finestra "padre". Non credo sia possibile dividere nel modo che ho specificato con una divisione verticale esistente.
Jgillman,

Feedback ricevuto. I dettagli nell'arte ASCII non avevano sufficiente attenzione. In risposta, la risposta originale è stata notevolmente ampliata.
TOOGAM
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.