Mover painel para uma nova janela no tmux

156

Eu sei que é possível no tmux ingressar em uma janela como painel, mas é possível mover um painel para sua própria janela (guia)? Tentei pesquisar na página de manual, mas não consegui encontrá-lo. Eu acho que é possível fazê-lo através de um script de shell, mas existe alguma outra maneira mais elegante?

Mikey S.
fonte

Respostas:

166

Comandos tmux relevantes

  • join-pane -s
  • join-pane -t
  • break-pane

Ligações

Você pode adicionar as seguintes ligações ao seu ~/.tmux.conf:

## Join windows: <prefix> s, <prefix> j
bind-key j command-prompt -p "join pane from:"  "join-pane -s '%%'"
bind-key s command-prompt -p "send pane to:"  "join-pane -t '%%'"

O acima pode mover painéis entre janelas existentes.

Para quebrar um painel em uma nova janela, use break-pane (que também pode ser vinculado) .

Uso Alterativo

Todos os três comandos podem ser usados a partir do prompt do tmux como: <prefix>+:em seguida, break-pane
Ou no prompt do shell (dentro tmux) com: tmux break-pane.

recatado
fonte
11
É importante notar que você direciona um painel usando o seguinte formato: "mysession: mywindow.mypane" (se estiver em uma sessão diferente) e "mywindow.mypane" (se estiver na mesma sessão). Você também pode usar "mysession: progname" se o programa em execução nesse painel for exclusivo.
Ben Davis
15
bind-key !da outra resposta é tudo que preciso.
Guaka
137

Na lista de comandos, você pode ver que é chamado de painel de interrupção e o comando é apenas

chave de ligação!

em que a chave de ligação é padronizada como Ctrl+B

jimbog
fonte
5
existe uma maneira de anexar novamente o painel "violado"?
Nazikus
3
@ nazikus você pode usar join-pane. Se você não encontrar nenhuma ligação para ele bind-key ?(não vi), convoque bind-key :e execute o prompt de comando join-pane -t <destination pane index>.
Austin Adams
4
Não esqueça os dois pontos! É join-pane -t <optional session name>:<destination pane index>por exemplojoin-pane -t :0
Walf 28/07
11

Na versão mais recente do tmux, instalada a partir do homebrew no OSx - 1.9a - a associação de teclas padrão implementa o painel de junção com um menu

bind-key          S choose-window "join-pane -v -s "%%""
bind-key          V choose-window "join-pane -h -s "%%""
Andrew
fonte
0

tmux 1.8 ou superior:

Se você pretende ir para o modo "tela cheia", pode usar:

bind-key z

para "aumentar o zoom" (e também diminuir o zoom depois de terminar o seu trabalho).

Peyman Karimi
fonte