Tmux dividindo uma janela pai com painéis existentes

1

Digamos que eu tenha uma janela com dois painéis (tamanho irrelevante, 'A' = ativo)

+-----+-----+
|     |  A  |
|     |     |
|     |     |
|     |     |
+-----+-----+

Se eu fosse split-window , receberia:

+-----+-----+
|     |  A  |
|     |     |
|     +-----+
|     |     |
+-----+-----+

O que normalmente é bom. Mas posso dizer para dividir a janela pai em vez do painel atual? Por exemplo:

+-----+-----+
|     |  A  |
|     |     |
+-----+-----+
|           |
+-----------+
    
por jgillman 10.09.2013 / 20:08

2 respostas

1

Resposta Original:
O comando splitw oferece suporte à especificação de um destino.
Use -t para especificar um painel.

Ctrl-B :splitw -t 0

Em uma nota lateral muito útil:

Ctrl-B q
ajudará a identificar o painel a ser usado.

Deseja fazer isso frequentemente no mesmo painel (como o painel número zero, em vez do "painel atual")? Em seguida, crie uma ligação de teclado.

Expansão para responder:
A seguir será criado o layout que foi solicitado pela arte ASCII na pergunta.

(1): Comece com uma nova janela. Talvez não estritamente necessário, mas eu fiz isso para simplificar o teste.
(2): Faz uma divisão vertical (Ctrl-B: splitw -h)
(3): Opcional, mas recomendado: faça algo no painel 1 para que o painel pareça diferente, só assim você pode ver que isso funciona como esperado. (4): pressione Ctrl-B
(5): Embora você precise de dois pontos, isso faz parte do texto a seguir. Cole no texto a seguir.

:splitw -t 0 ; splitw -t 0 -h ; selectp -t 1 ; swap-pane -s 3 ; selectp -t 1 ; kill-pane -t 1

(6): Pressione Enter para executar o comando composto.

Nota (7): A abordagem mostrada depende dos números de painéis específicos, portanto o passo (1) é extremamente recomendado. Eu não estou dizendo que esta solução é altamente adaptável para outros layouts, e assim codificar a ligação do teclado pode produzir resultados inesperados em outras situações iniciais. No entanto, isso mostra como fazer o que foi especificamente solicitado, portanto, isso pode ser uma demonstração útil sobre como fazer isso manualmente (o que geralmente é útil ao projetar uma abordagem automatizada para uma tarefa). Nota (8): Eu sou bastante cauteloso sobre essa abordagem, especialmente com o uso de kill-pane. Parece que isso poderia levar facilmente ao trabalho perdido se algo não funcionasse como esperado. Se você é corajoso o suficiente para tentar colocar isso em uma ligação de chave, considere o uso da instrução de confirmação, conforme mostrado na ligação padrão para Ctrl-B x (mostrada com Ctrl-B?).

    
por 12.01.2015 / 03:59
0

Tente isto: :splitw -v -f

De acordo com esta descrição:

The -f option creates a new pane spanning the full window height (with -h) or full window width (with -v), instead of splitting the active pane.

Eu acho que ainda não é tão versátil quanto o design do "painel pai", mas vai resolver facilmente muitos layouts menos complicados.

    
por 08.09.2017 / 04:58

Tags