Dois conjuntos de janelas lado-a-lado no tmux

1

Eu gosto de ter duas sessões / conjuntos de janelas lado-a-lado, com janelas independentes alternando , como na captura de tela - agora eu faço isso lançando duas instâncias separadas do Konsole, cada uma com tmux attach -t session_name_here e AwesomeWM apenas os colocam lado a lado, como qualquer cliente X.

Esta forma de conseguir este tipo de layout tem algumas desvantagens, principalmente em torno da portabilidade:

  1. Requer X, portanto, não pode ser usado a partir do console Linux "puro"
  2. Pode não ser tão bom fazer em outros ambientes com WMs não-lado a lado (como o KDE ou o MacOS X)

Semelhante pode ser feito apenas com tmux , sem depender de qualquer aplicativo externo?

E como?

Update: made the part about independent switching of windows bold

    
por Ivan Kolmychek 03.05.2016 / 22:38

3 respostas

4

Você pode usar sessões do tmux aninhadas:

┌───────────────────┐
│ ┌──────┐ ┌──────┐ │
│ │      │ │      │ │
│ │      │ │      │ │
│ │tmux 2│ │tmux 3│ │
│ └──────┘ └──────┘ │
│ tmux 1            │
└───────────────────┘

É bastante desajeitado (por exemplo, envolvendo o prefixo prefixo n para alternar as janelas "internas"), mas nas versões recentes do tmux a barra de status pode indicar qual instância está sendo controlada agora. Por exemplo, minha configuração tem:

set -g status-bg colour233
set -g status-fg colour250
set -g status-left "#{?client_prefix,#[fg=colour180]=#[fg=default], }#S "
set -g status-right "%b %d, %H:%M "
setw -g window-status-format ' #I #W '
setw -g window-status-current-format '#{?client_prefix,#[fg=colour0]#[bg=colour180],} #I #W '
setw -g window-status-current-bg colour166
setw -g window-status-current-fg colour0
setw -g window-status-activity-bg colour166
setw -g window-status-activity-fg colour233

( #{?client_prefix} requer o tmux ≥ v1.6)

    
por 03.05.2016 / 23:47
1

Inicie uma instância do tmux e, em seguida, use Ctrl+b % para dividir o painel verticalmente. Para alternar entre os painéis, use Ctrl+b arrow key

    
por 03.05.2016 / 22:41
1

Abordagem alternativa: Vire a coisa toda de cabeça para baixo - mude de Vim para Neovim, use :terminal e tenha seu terminais dentro vim dividem as janelas:

(O atalho padrão para sair do modo de entrada de terminal é C - \ C-n , ou você pode clicar em outro buffer.)

    
por 04.05.2016 / 10:35

Tags