Pregunta ¿Cómo se intercambian dos paneles en Tmux?


Tengo dos paneles en división horizontal. Me gustaría tener el panel actualmente a la derecha para estar a la izquierda en la ventana. No estoy hablando de mover el foco (Ctrl+segundo  o) ¿Cómo logro esto?

'panel izquierdo' <-> 'panel derecho'


144


origen




Respuestas:


los swap-pane comando puede hacer esto por ti. los { y } las llaves están destinadas a swap-pane -U y swap-pane -D en la configuración predeterminada.

Entonces, para efectuar su cambio deseado, probablemente pueda usar Prefijo  { cuando estás en el panel derecho (o Prefijo  } si estás en el panel izquierdo).

los -U y -D consulte "arriba" y "abajo" en el orden de índice del panel ("arriba" es la misma dirección que Prefijo  o se mueve a través de los paneles). Puede ver los índices del panel con display-panes (Prefijo  q, por defecto).


207



+1 para especificar Prefix en lugar de asumir que todos usarán Ctrl-b - Aaron Wallentine
Convenido. Es aún peor cuando las personas suponen que estás usando Ctrl-a, ya que son las personas que saben que el prefijo se puede cambiar para adaptarse al usuario. - Brandon Ibbotson


Puedes golpear Ctrl  segundo y sigue presionando Ctrl mientras golpeas o. Esto rotará todos los paneles existentes, por lo que en su caso intercambiará los únicos dos paneles existentes.

Ctrl  segundo + Alt  o gira en el sentido opuesto (útil cuando tienes más de dos paneles).


37



No puedo entender esto: cuando hago Ctrl + b y luego o, obtengo una rotación en el panel de la ventana, pero luego el foco vuelve al panel actual. No puedo recorrer los paneles sin tocar repetidamente la secuencia completa de Ctrl + b, Ctrl + o. Es algo tedioso ¿Sabes por qué esto podría estar pasando? - Stabledog
@Stabledog No estoy seguro ... Solo para ser claro con respecto al comportamiento esperado: Mientras está presionando Ctrlgolpeando bo repetidamente hará que los paneles ciclen. El cursor debe permanecer en la misma ubicación, es decir, no seguir los paneles alrededor, sino colocarse en el nuevo panel que se gira en la posición donde está el cursor. - Joel Ostblom
Sí, estamos en la misma página. Pero después de la primera 'o', que causa una rotación del panel, la siguiente 'o' se envía al shell subyacente y se procesa con la aplicación que esté allí. Estoy pensando en algo raro con mi mapa, o tal vez algo que depende de la versión de tmux. Gracias por responder. - Stabledog
@Stabledog Actualmente estoy en tmux 2.3, pero creo que esto siempre me ha funcionado ... Realmente no puedo pensar en cuál podría ser el problema. Suena extraño que el Ctrl+ose envía al shell en lugar de a tmux, especialmente si este no es el caso para presionar repetidamente Ctrl+b (u otros comandos tmux?). - Joel Ostblom
@Stabledog En realidad, me acabo de dar cuenta de que el único otro comando donde puedo mantener presionado el control y repetir las otras teclas es Ctrl+b;, que sigue girando el cursor entre dos paneles. - Joel Ostblom


El control más preciso que puede tener es mediante el uso del comando swap-pane  directamente. Esto no es tan difícil de hacer:

  1. ctrl-b q le muestra la "ID" para cada panel en la ventana actual; recuerde los dos paneles que desea intercambiar. Digamos que son 3 y 5.
  2. ctrl-b : para activar la línea de comando tmux. Luego, emita el comando swap-pane -s 3 -t 5.

Tenga en cuenta que tiene autocompletado al escribir comandos. También puede buscar la sintaxis de un comando directamente desde página de manual de tmux. Así es como aprendo la sintaxis para swap-pane.


5