Tmux: Como posso ligar uma janela como janela dividida?

32

como posso pegar uma janela de sessão tmux totalmente diferente e anexá-la como uma divisão horizontal / vertical à janela atual?

    
por pielgrzym 04.04.2011 / 21:44

2 respostas

45

Parece que você está procurando o join-pane. Tecnicamente, para a segunda parte da sua pergunta, você deseja unir um painel à janela atual, e não à janela inteira da outra sessão, pois isso poderia incluir vários painéis.

Aqui está um exemplo. Digamos que você esteja na sessão 0, na janela 4 e na sessão 2 que você deseja o painel da janela 3 1. No prompt do tmux ( ctrl+b : por padrão)

join-pane -s 2:3.1

Isso moverá o painel 1 da janela 3, a sessão 2 (-s é a janela de origem e fará o formato session: window.pane) para a sua sessão atual (sessão 0).

Abaixo estão os documentos completos para join-pane, que você pode obter na página man do tmux. A parte mais confusa para mim lendo os documentos foi descobrir o formato esperado para src-pane especificando números de sessão, janela e painel ( session:window.pane do exemplo acima). Você também pode nomear suas sessões e janelas e usar esses nomes em vez dos números de índice.

 join-pane [-dhv] [-l size | -p percentage] [-s src-pane] [-t dst-pane]
   (alias: joinp)
   Like split-window, but instead of splitting dst-pane and 
   creating a new pane, split it and move src-pane into the 
   space.  This can be used to reverse break-pane.
    
por 19.04.2011 / 20:05
16

Se você estiver tentando juntar painéis a partir da mesma sessão, você irá instintivamente querer omitir a "sessão:" do comando. Isso irá falhar. Parece que as opções -s e -t para join-pane aceitam o argumento na forma de [session]: window [.pane] em vez de [session:] window [.pane]

Isto é, a sessão é opcional e a: é obrigatória. Isso é bobo. Seria o equivalente dos navegadores que exigem o link como a versão de atalho de link e com um erro no link o_O

Desde ctrl-b! divide o painel atual em uma janela separada (que é o oposto do que queremos fazer), e ctrl-b @ (que está ao lado!) está desatualizado por padrão (o que significa que você não está sobrescrevendo nada) Sugiro criar este atalho ...

bind-key @ command-prompt -p "create pane from:"  "join-pane -s ':%%'"
    
por 01.02.2012 / 17:29

Tags