tmux no dia a dia

Uma cola dos comandos que você realmente usa, sem o ritual de aprender o programa inteiro.

tmux é um multiplexador de terminal — um programa que segura várias shells dentro de uma única janela do seu emulador. A graça não está nos atalhos, está em algo mais sutil: o tmux desacopla o processo da conexão. Você pode fechar o terminal, derrubar a internet, atravessar a cidade, e seu trabalho continua rodando do outro lado, intacto, esperando você voltar.

TL;DR Aprenda quatro comandos fora do tmux (new -s, attach -t, ls, kill-session) e seis combos com o prefix dentro dele (c, n/p, %, ", setas, d). Isso cobre 95% do uso real. O resto você adiciona quando sentir a falta.

O prefix: a tecla que muda tudo

Toda interação com o tmux passa por uma tecla mágica chamada prefix. Padrão: Ctrl-b. Você aperta o prefix, solta, e em seguida aperta o comando. Notação convencional: C-b c significa "Ctrl-b, depois c".

Convenção Muita gente remapeia o prefix pra C-a (mais perto do mindinho). Como você ainda está calibrando o uso, fique no C-b padrão por enquanto — todos os tutoriais online assumem ele.

Sessão, janela, painel

São três níveis aninhados. Entender essa hierarquia é metade do uso correto do tmux.

sessão · "learn" janela 0 · edit $ nvim index.html painel ativo $ tail -f access.log janela 1 · server $ docker compose logs -f web janela 2 · shell $ git status
Uma sessão contém várias janelas (como abas). Cada janela pode ser dividida em painéis.
  • Sessão — o "projeto". Tem nome, sobrevive a você fechar o terminal.
  • Janela — equivalente a uma aba. Ocupa a tela toda. Numeradas de 0 em diante.
  • Painel — divisão dentro de uma janela. É onde sua shell de fato roda.

Sessões nomeadas — o killer feature

Aqui está o motivo real pra você ter aberto o tmux. Quando você dá nome a uma sessão e depois faz detach, ela continua rodando em background, no servidor (ou na sua máquina), independente do terminal que a criou. Quando você quiser de volta, é só dar attach.

Bash · fora do tmux

# criar sessão nomeada e já entrar
tmux new -s learn

# listar sessões existentes
tmux ls
# learn: 3 windows (created Mon May 11 14:02:11 2026)
# infra: 1 windows (created Mon May 11 13:48:02 2026)

# voltar a uma sessão existente
tmux attach -t learn

# matar uma sessão (e tudo que ela continha)
tmux kill-session -t learn

Pra sair sem matar: dentro do tmux, C-b d (detach). Esse é o gesto que você vai usar mil vezes — sai do tmux deixando tudo rodando.

Insight Sempre nomeie suas sessões. tmux sem argumento cria uma sessão anônima (0, 1, 2...) e em uma semana você tem cinco delas sem saber qual é qual. Nome curto, em kebab-case: learn, infra, scratch.

Reattach automático no SSH

Workflow comum no VPS: você abre uma sessão SSH, entra no tmux, e quer que da próxima vez você caia direto na mesma sessão. Um atalho útil:

# cria a sessão "main" se não existir, ou faz attach se já existir
tmux new -A -s main

Coloque isso no seu .bashrc/.zshrc condicionado a sessão SSH, ou rode manualmente. Você nunca mais "perde" um trabalho por conexão caída.

Atalhos essenciais (com prefix)

Todos os atalhos abaixo são precedidos pelo prefix (C-b). Quanto menos você usar, melhor — só aprenda o próximo quando perceber que está repetindo um clique do mouse.

Atalho O que faz Nível
dDetach — sai do tmux, sessão segue vivasessão
sListar sessões e trocarsessão
$Renomear sessão atualsessão
cCriar nova janelajanela
n / pPróxima / anterior janelajanela
09Ir direto pra janela Njanela
,Renomear janela atualjanela
wLista interativa de janelasjanela
&Fechar janela atual (pede confirmação)janela
%Dividir painel verticalmente (lado a lado)painel
"Dividir painel horizontalmente (em cima/baixo)painel
←↑↓→Trocar de painel pela direçãopainel
oCiclar pelos painéis (próximo)painel
zZoom — alterna foco-tela-cheia no painel atualpainel
xFechar painel atualpainel
{ / }Trocar posição dos painéispainel
[Entrar em copy-mode (scroll/seleção)texto
?Mostrar todos os bindings (cheat sheet ao vivo)ajuda

O z (zoom) e o ? (ajuda) são os dois que mais salvam quando você esquece o resto.

Scroll e copy-mode rápido

Dentro de um painel tmux o scroll do mouse não funciona como você espera — o que rola é a história do tmux, não do terminal real. Pra navegar pra trás na saída de um comando longo:

  1. C-b [ — entra em copy-mode.
  2. Setas, PageUp/PageDown, ou C-u/C-d pra rolar.
  3. / busca pra cima, ? busca pra baixo (igual vim).
  4. q ou Esc pra sair.

Pra copiar texto: dentro do copy-mode, Space começa a seleção, setas estendem, Enter copia pro buffer do tmux. Pra colar em outro painel: C-b ].

Comandos úteis (linha de comando do tmux)

Tudo que você faz com atalho pode ser feito por um command. Abre o prompt com C-b : e digita. Útil quando o atalho não existe, ou pra scripting.

:rename-session learn-novo       # renomeia a sessão atual
:rename-window edit              # renomeia a janela atual
:resize-pane -L 10               # cresce painel 10 colunas pra esquerda
:swap-window -s 2 -t 0           # move janela 2 pra posição 0
:source-file ~/.tmux.conf        # recarrega config sem matar a sessão
:list-keys                       # imprime todos os bindings

Pegadinhas comuns

Atenção

Esquecer o prefix. Você manda c achando que está em modo comando, e ele aparece como letra na shell. Acontece com todo mundo nos dois primeiros dias.

Confundir C-b d com sair de verdade. Detach não mata a sessão — bom pra rotina, ruim quando você esquece e tem dez sessões zumbis. Rode tmux ls de vez em quando.

Copiar texto pra fora do tmux. O buffer do tmux é interno; pra integrar com o clipboard do sistema você precisa de xclip/wl-copy/pbcopy configurado no .tmux.conf. Até lá, segure Shift e selecione com o mouse — isso bypassa o tmux e copia direto pelo emulador.

O que aprender depois

Quando o uso acima virar automático, os próximos passos típicos são:

  • Customizar o ~/.tmux.conf — habilitar mouse, trocar o prefix, deixar a status bar mais sóbria.
  • Plugins via tpm — só se você sentir falta. tmux-resurrect (salvar/restaurar sessões entre reboots) é o único que quase todo mundo acaba querendo.
  • Scripts de boot — um script que cria a sessão "learn" com três janelas pré-configuradas. Útil se você abre o mesmo layout todo dia.

Página gerada em conversa com o Claude. Foi feita pra ser uma cola de uso real — se você está consultando algo que não está aqui, provavelmente é avançado demais pro dia a dia (ou a página precisa crescer; me avise).