Come si scambiano due riquadri in Tmux?


208

Ho due riquadri nella divisione orizzontale. Mi piacerebbe avere il riquadro attualmente sulla destra per essere sulla sinistra nella finestra. Non sto parlando di spostare il focus ( Ctrl+ B o). Come posso raggiungere questo obiettivo?

'riquadro sinistro' <--> 'riquadro destro'

Risposte:


307

Il swap-panecomando può farlo per te. I tasti {e }sono associati swap-pane -Ue swap-pane -Dnella configurazione predefinita.

Quindi, per effettuare la modifica desiderata, puoi probabilmente usarla Prefix {quando sei nel riquadro di destra (o Prefix }se sei nel riquadro di sinistra).

La -Ue -Dconsultare “up” e “down” nell'ordine dell'indice riquadro ( “up” è la stessa direzione che Prefix osi muove attraverso riquadri). È possibile visualizzare gli indici del riquadro con display-panes( Prefix q, per impostazione predefinita).


8
+1 per specificare Prefixinvece di supporre che tutti userannoCtrl-b
Aaron Wallentine il

1
Concordato. È ancora peggio quando le persone presumono che tu stia utilizzando Ctrl-a, poiché sono le persone che sanno che il prefisso può essere modificato in base all'utente.
byxor,

Vedi la risposta di @ kay per un uso più generale di swap-pane(e la risposta alla domanda nel titolo).
Jonathan,

51

Puoi colpire Ctrl be tenere premuto Ctrlmentre colpisci o. Questo ruoterà tutti i riquadri esistenti, quindi nel tuo caso cambierà gli unici due riquadri esistenti.

Ctrl b+ Alt oruota nella direzione opposta (utile quando hai più di due riquadri).


Sì, siamo sulla stessa pagina. Ma dopo la prima "o", che provoca una rotazione del riquadro, la successiva "o" viene inviata alla shell sottostante ed elaborata da qualsiasi app presente. Sto pensando a qualcosa di sospetto con la mia mappa, o forse qualcosa che dipende dalla versione di tmux. Grazie per aver risposto.
Stabledog

1
@Stabledog Attualmente sono su tmux 2.3, ma penso che questo abbia sempre funzionato per me ... Non riesco davvero a pensare a quale potrebbe essere il problema. Sembra strano che il messaggio Ctrl+ovenga inviato alla shell anziché a tmux, specialmente se questo non è il caso di premere ripetutamente Ctrl+b(o altri comandi tmux?).
joelostblom,

In realtà penso che stia succedendo per tutti i comandi. Almeno, non sono a conoscenza di alcun caso in cui posso fare Ctrl + x, premere un tasto associato a qualche operazione e rimanere in modalità "tastiera tmux". Ho solo pensato che fosse di design.
Stabledog,

1
@Stabledog In realtà, ho appena notato che l'unico altro comando in cui posso tenere premuto il controllo e ripetere gli altri tasti è Ctrl+b;, che continua a ruotare il cursore tra due riquadri.
Joelostblom,

24

Il controllo più preciso che puoi avere è usando swap-pane direttamente il comando . Questo non è così difficile da fare:

  1. ctrl-b qti mostra l '"ID" per ogni riquadro nella finestra corrente - ricorda i due riquadri che vuoi scambiare. Diciamo che sono 3 e 5.
  2. ctrl-b :per attivare la riga di comando tmux. Quindi emettere il comando swap-pane -s 3 -t 5.

Si noti che si ha il completamento automatico durante la digitazione dei comandi. Inoltre è possibile cercare la sintassi di un comando direttamente dalla manpage di tmux . Ecco come imparo la sintassi per swap-pane.

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.