Como alguém troca dois painéis no Tmux?

208

Eu tenho dois painéis na divisão horizontal. Eu gostaria de ter o painel atualmente à direita para ficar à esquerda na janela. Não estou falando de mudar o foco ( Ctrl+ B o). Como faço para conseguir isso?

'painel esquerdo' <--> 'painel direito'

oddRaven
fonte

Respostas:

306

O swap-panecomando pode fazer isso por você. As teclas {e }estão ligadas swap-pane -Ue swap-pane -Dna configuração padrão.

Portanto, para efetuar a alteração desejada, você provavelmente poderá usá- Prefix {lo quando estiver no painel direito (ou Prefix }se estiver no painel esquerdo).

Os indicadores -Ue -Dreferem-se a "para cima" e "para baixo" na ordem do índice do painel ("para cima" é a mesma direção que Prefix ose move pelos painéis). Você pode ver os índices do painel com display-panes( Prefix q, por padrão).

Chris Johnsen
fonte
8
+1 por especificar, em Prefixvez de assumir que todos usarão #Ctrl-b
Aaron Wallentine
1
Acordado. É ainda pior quando as pessoas assumem que você está usando Ctrl-a, pois são as pessoas que sabem que o prefixo pode ser alterado para se adequar ao usuário.
Bydor
Veja a resposta de @ kay para um uso mais geral de swap-pane(e responda à pergunta no título).
19618 Jonathan
51

Você pode bater Ctrl be manter pressionado Ctrlenquanto bate o. Isso girará todos os painéis existentes, portanto, no seu caso, os dois únicos painéis serão trocados.

Ctrl b+ Alt ogira na direção oposta (útil quando você tem mais de dois painéis).

joelostblom
fonte
Sim, estamos na mesma página. Porém, após o primeiro 'o', que causa uma rotação do painel, o próximo 'o' é enviado ao shell subjacente e processado por qualquer aplicativo que esteja lá. Estou pensando em algo suspeito no meu mapa, ou talvez algo que dependa da versão tmux. Obrigado por responder.
21817 Stabledog
1
@Stabledog Atualmente, estou no tmux 2.3, mas acho que isso sempre funcionou para mim ... Não consigo pensar no que poderia ser o problema. Parece estranho que o Ctrl+opacote esteja sendo enviado ao shell em vez de ao tmux, especialmente se esse não for o caso de pressionar repetidamente Ctrl+b(ou outros comandos do tmux?).
Joelostblom
Na verdade, acho que está acontecendo para todos os comandos. Pelo menos, não conheço nenhum caso em que eu possa pressionar Ctrl + x, pressionar uma tecla associada a alguma operação e permanecer no modo "teclado tmux". Eu apenas assumi que é por design.
Stabledog
1
@Stabledog Na verdade, acabei de notar que o único outro comando em que posso manter o controle pressionado e repetir as outras teclas é o Ctrl+b;que continua girando o cursor entre dois painéis.
Joelostblom
24

O controle mais preciso que você pode ter é usar o comando swap-pane diretamente . Isso não é tão difícil de fazer:

  1. ctrl-b qmostra o "ID" para cada painel na janela atual - lembre-se dos dois painéis que você deseja trocar. Digamos que sejam 3 e 5.
  2. ctrl-b :para ativar a linha de comandos do tmux. Em seguida, emita o comando swap-pane -s 3 -t 5.

Observe que você tem preenchimento automático ao digitar comandos. Também é possível procurar a sintaxe de um comando diretamente da página de manual do tmux . É assim que eu aprendo a sintaxe para swap-pane.

Kay
fonte