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'

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).


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).


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.