Manuais para a linha de comandos

Man » Manual do tmux online - documentação online detalhada para a página de manual do tmux

🌍
tmux — multiplexador de terminal

SINOPSIS

tmux [-2CDhlNuVv] [-c shell-command] [-f file] [-L socket-name] [-S socket-path] [-T features]
[comando [flags]]

DESCRIÇÃO

tmux é um multiplexador de terminal: ele permite que vários terminais sejam criados, acessados e controlados a partir de uma única tela. O tmux pode ser desconectado de uma tela e continuar sendo executado em segundo plano, e depois ser reconectado.

Quando o tmux é iniciado, ele cria uma nova sessão com uma única janela e a exibe na tela. Uma barra de status na parte inferior da tela exibe informações sobre a sessão atual e é usada para inserir comandos interativos.

Uma sessão é uma única coleção de terminais virtuais sob o gerenciamento do tmux. Cada sessão tem uma ou mais janelas associadas a ela. Uma janela ocupa a tela inteira e pode ser dividida em painéis retangulares, cada um dos quais é um terminal virtual separado (a página de manual pty(4) documenta os detalhes técnicos dos terminais virtuais). Qualquer número de instâncias do tmux pode se conectar à mesma sessão, e qualquer número de janelas pode estar presente na mesma sessão. Quando todas as sessões são encerradas, o tmux é encerrado.

Cada sessão é persistente e sobreviverá a desconexões acidentais (como o tempo limite da conexão ssh(1)) ou desconexões intencionais (com as teclas ‘C-b d’). O tmux pode ser reconectado usando:

$ tmux attach

No tmux, uma sessão é exibida na tela por um cliente e todas as sessões são gerenciadas por um único servidor. O servidor e cada cliente são processos separados que se comunicam por meio de um socket em /tmp.

As opções são as seguintes:

-2 Força o tmux a assumir que o terminal suporta 256 cores. Isso é equivalente a -T 25.

-C Inicia no modo de controle (veja a seção “MODO DE CONTROLE”). Dado duas vezes (-CC) desativa o eco.

-c shell-command
Executa shell-command usando o shell padrão. Se necessário, o servidor tmux será iniciado para recuperar a opção default-shell. Esta opção é para compatibilidade com [sh]({filename}../../sh)(1) quando o tmux é usado como shell de login.

-D Não inicia o servidor tmux como um daemon. Isso também desativa a opção exit-empty. Com -D, o comando não pode ser especificado.

-f file Especifica um arquivo de configuração alternativo. Por padrão, o tmux carrega o arquivo de configuração do sistema de /etc/tmux.conf, se presente, e, em seguida, procura um arquivo de configuração de usuário em ~/.tmux.conf ou $XDG_CONFIG_HOME/tmux/tmux.conf.

O arquivo de configuração é um conjunto de comandos tmux que são executados em sequência quando o servidor é iniciado pela primeira vez. O tmux carrega os arquivos de configuração uma vez, quando o processo do servidor foi iniciado. O comando source-file pode ser usado para carregar um arquivo posteriormente.


tmux exibe quaisquer mensagens de erro de comandos nos arquivos de configuração na primeira
sessão criada e continua processando o restante do arquivo de configuração.

-h            Imprime informações de uso e sai.

-L socket-name
tmux armazena o socket do servidor em um diretório sob TMUX_TMPDIR ou /tmp se estiver não definido. O socket padrão é nomeado default. Esta opção permite que um nome de socket diferente seja especificado, permitindo que vários servidores tmux independentes sejam executados. Ao contrário de -S, um caminho completo não é necessário: todos os sockets são criados em um diretório tmux-UID sob o diretório fornecido por TMUX_TMPDIR ou em /tmp. O diretório tmux-UID é criado por tmux e não deve ser legível, gravável ou executável por outros usuários.

Se o socket for removido acidentalmente, o sinal SIGUSR1 pode ser enviado ao processo do servidor tmux para recriá-lo (observe que isso falhará se quaisquer diretórios pai estiverem faltando).

-l            Comporte-se como um shell de login. Esta flag atualmente não tem efeito e é para compatibilidade com outros shells ao usar tmux como um shell de login.

-N            Não inicie o servidor, mesmo que o comando normalmente o fizesse (por exemplo,
new-session ou start-server).

-S socket-path
Especifica um caminho alternativo completo para o socket do servidor. Se -S for especificado, o diretório de socket padrão não será usado e qualquer flag -L será ignorada.

-T features   Define recursos de terminal para o cliente. Esta é uma lista separada por vírgulas de recursos.
Veja a opção terminal-features.

-u            Escreva a saída UTF-8 no terminal, mesmo que a primeira variável de ambiente de
LC_ALL, LC_CTYPE ou LANG que estiver definida não contenha "UTF-8" ou "UTF8".

-V            Relata a versão do tmux.

-v            Solicita registro detalhado. As mensagens de registro serão salvas em arquivos tmux-client-PID.log e
tmux-server-PID.log no diretório atual, onde PID é o PID do processo do servidor ou cliente. Se -v for especificado duas vezes, um arquivo adicional tmux-out-PID.log será gerado com uma cópia de tudo o que o tmux escreve no terminal.

O sinal SIGUSR2 pode ser enviado ao processo do servidor tmux para alternar o registro entre ligado (como se -v fosse fornecido) e desligado.

command [flags]
Isso especifica um de um conjunto de comandos usados para controlar o tmux, conforme descrito nas
seções a seguir. Se nenhum comando for especificado, o comando em
default-client-command é assumido, que por padrão é new-session.

BINDINGS DE TECLA PADRÃO

tmux pode ser controlado a partir de um cliente conectado usando uma combinação de teclas de um prefixo, ‘C-b’
(Ctrl-b) por padrão, seguido por uma tecla de comando.

As ligações de tecla de comando padrão são:

C-b         Envia a tecla de prefixo (C-b) para o aplicativo.
C-o         Gira os painéis na janela atual para frente.
C-z         Suspende o cliente tmux.
!           Retira o painel atual da janela.
"           Divide o painel atual em dois, superior e inferior.
#           Lista todos os buffers de colagem.
$           Renomeia a sessão atual.
%           Divide o painel atual em dois, esquerdo e direito.
&           Mata a janela atual.
'           Solicita um índice de janela para selecionar.
(           Alterna o cliente conectado para a sessão anterior.
)           Alterna o cliente conectado para a próxima sessão.
,           Renomeia a janela atual.
-           Exclui o buffer de texto copiado mais recente.
.           Solicita um índice para mover a janela atual.
0to 9      Seleciona as janelas 0 a 9.
:           Entra no prompt de comando tmux.
;           Move para o painel ativo anterior.
=           Escolhe qual buffer colar interativamente de uma lista.
?           Lista todas as ligações de tecla.
D           Escolhe um cliente para desconectar.
L           Alterna o cliente conectado de volta para a última sessão.
[           Entra no modo de cópia para copiar texto ou visualizar o histórico.
]           Cola o buffer de texto copiado mais recente.
c           Cria uma nova janela.
d           Desconecta o cliente atual.
f           Solicita pesquisar texto em janelas abertas.
i           Exibe algumas informações sobre a janela atual.
l           Move para a janela selecionada anterior.
m           Marca o painel atual (veja select-pane -m).
M           Limpa o painel marcado.
n           Muda para a próxima janela.
o           Seleciona o próximo painel na janela atual.
p           Muda para a janela anterior.
q           Exibe brevemente os índices dos painéis.
r           Força o redesenho do cliente conectado.
s           Seleciona uma nova sessão para o cliente conectado interativamente.
t           Mostra a hora.
w           Escolhe a janela atual interativamente.
x           Mata o painel atual.
z           Alterna o estado de zoom do painel atual.
{           Troca o painel atual com o painel anterior.
}           Troca o painel atual com o próximo painel.
~           Mostra as mensagens anteriores do tmux, se houver.
Page Up     Entra no modo de cópia e rola uma página para cima.
Up, Down
Left, Right
Muda para o painel acima, abaixo, à esquerda ou à direita do painel atual.
M-1 to M-7  Organiza os painéis em um dos sete layouts predefinidos: even-horizontal, even-vertical, main-horizontal, main-horizontal-mirrored, main-vertical, main-verticalmirrored ou tiled.
Space       Organiza a janela atual no próximo layout predefinido.
M-n         Move para a próxima janela com um sino ou marcador de atividade.
M-o         Gira os painéis na janela atual para trás.
M-p         Move para a janela anterior com um sino ou marcador de atividade.
C-Up, C-Down
C-Left, C-Right
Redimensiona o painel atual em etapas de uma célula.
M-Up, M-Down
M-Left, M-Right
Redimensiona o painel atual em etapas de cinco células.

As associações de teclas podem ser alteradas com os comandos bind-key e unbind-key.

ANÁLISE E EXECUÇÃO DE COMANDOS

O tmux suporta um grande número de comandos que podem ser usados para controlar seu comportamento. Cada comando tem um nome e pode aceitar zero ou mais flags e argumentos. Eles podem ser associados a uma tecla com o comando `bind-key` ou executados a partir do prompt do shell, de um script do shell, de um arquivo de configuração ou do prompt de comando. Por exemplo, o mesmo comando `set-option` executado a partir do prompt do shell, de `~/.tmux.conf` e associado a uma tecla pode ter a seguinte aparência:

$ tmux set-option -g status-style bg=cyan

set-option -g status-style bg=cyan

bind-key C set-option -g status-style bg=cyan

Aqui, o nome do comando é ‘set-option’, ‘-g’ é uma flag e ‘status-style’ e ‘bg=cyan’ são argumentos.

tmux distingue entre a análise e a execução de comandos. Para executar um comando, o tmux precisa que ele seja dividido em seu nome e argumentos. Isso é a análise do comando. Se um comando é executado a partir do shell, o shell o analisa; se for executado dentro do tmux ou de um arquivo de configuração, o tmux o faz. Exemplos de quando o tmux analisa comandos são:

- em um arquivo de configuração;
- digitado no prompt de comando (veja command-prompt);
- fornecido para bind-key;
- passado como argumentos para if-shell ou confirm-before.

Para executar comandos, cada cliente tem uma ‘fila de comandos’. Uma fila de comandos global, não associada a nenhum cliente, é usada na inicialização para arquivos de configuração como ~/.tmux.conf. Os comandos analisados adicionados à fila são executados em ordem. Alguns comandos, como if-shell e confirm-before, analisam seus argumentos para criar um novo comando, que é inserido imediatamente após eles. Isso significa que os argumentos podem ser analisados duas ou mais vezes - uma vez quando o comando pai (como if-shell) é analisado e novamente quando ele analisa e executa seu comando. Comandos como if-shell, run-shell e display-panes interrompem a execução de comandos subsequentes na fila até que algo aconteça: if-shell e run-shell até que um comando de shell seja concluído e display-panes até que uma tecla seja pressionada. Por exemplo, os seguintes comandos:

new-session; new-window
if-shell "true" "split-window"
kill-session

Executarão new-session, new-window, if-shell, o comando de shell true(1), split-window e kill-session nessa ordem.

A seção “COMMANDS” lista os comandos tmux e seus argumentos.

SINTAXE DE ANÁLISE

Esta seção descreve a sintaxe dos comandos analisados pelo tmux, por exemplo, em um arquivo de configuração ou no prompt de comando. Observe que, quando os comandos são inseridos no shell, eles são analisados pelo shell - veja, por exemplo, ksh(1) ou csh(1).

Cada comando é terminado por uma nova linha ou um ponto e vírgula (;). Os comandos separados por pontos e vírgulas juntos formam uma ‘sequência de comandos’ - se um comando na sequência encontrar um erro, os comandos subsequentes não serão executados.

É recomendável que um ponto e vírgula usado como separador de comando seja escrito como um token individual, por exemplo, de sh(1):

$ tmux neww \; splitw

Ou:

$ tmux neww ';' splitw

Ou do prompt de comando do tmux:


neww ; splitw

No entanto, um ponto e vírgula no final também é interpretado como um separador de comandos, por exemplo, nestes sh(1) comandos:

$ tmux neww\; splitw

Ou:

$ tmux 'neww;' splitw

Como nesses exemplos, ao executar o tmux a partir do shell, é preciso ter muito cuidado para citar corretamente os pontos e vírgulas:

      Os pontos e vírgulas que devem ser interpretados como um separador de comandos devem ser escapados de acordo com as convenções do shell. Para [sh]({filename}../../sh)(1), isso normalmente significa citá-los (como ‘neww
';' splitw’) ou escapá-los (como ‘neww \; splitw’).

      Pontos e vírgulas individuais ou pontos e vírgulas no final que devem ser interpretados como argumentos
devem ser escapados duas vezes: uma vez de acordo com as convenções do shell e uma segunda vez para
tmux; por exemplo:

$ tmux neww 'foo\;' bar
$ tmux neww foo\\\; bar

      Os pontos e vírgulas que não são tokens individuais ou que não estão no final de outro token devem ser escapados apenas uma vez de acordo com as convenções do shell; por exemplo:

$ tmux neww 'foo-;-bar'
$ tmux neww foo-\;-bar

Os comentários são marcados pelo caractere # não citado – qualquer texto restante após um comentário é ignorado até o final da linha.

Se o último caractere de uma linha for \, a linha é unida à linha seguinte (o \ e a quebra de linha são completamente removidos). Isso é chamado de continuação de linha e se aplica tanto dentro quanto fora de strings citadas e em comentários, mas não dentro de chaves.

Os argumentos do comando podem ser especificados como strings entre aspas simples (') ou duplas ("), ou como listas de comandos entre chaves ({}). Isso é necessário quando o argumento contém qualquer caractere especial. Strings com aspas simples e duplas não podem abranger várias linhas, exceto com continuação de linha. As chaves podem abranger várias linhas.

Fora das aspas e dentro das aspas duplas, as seguintes substituições são realizadas:

- As variáveis de ambiente precedidas por $ são substituídas pelo seu valor do ambiente global (veja a seção “AMBIENTE GLOBAL E DE SESSÃO”).

- Um ~ ou ~user à esquerda é expandido para o diretório home do usuário atual ou especificado.

- \uXXXX ou \uXXXXXXXX é substituído pelo ponto de código Unicode correspondente ao número hexadecimal de quatro ou oito dígitos fornecido.

- Quando precedido (escapado) por uma \, os seguintes caracteres são substituídos: \e pelo caractere de escape; \r por um retorno de carro; \n por uma nova linha; e \t por uma tabulação.

- \ooo é substituído por um caractere com o valor octal ooo. Três dígitos octais são necessários, por exemplo \001. O maior caractere válido é \377.

- Qualquer outro caractere precedido por \ é substituído por ele mesmo (ou seja, o \ é removido) e não é tratado como tendo nenhum significado especial - então, por exemplo, \; não
marcará uma sequência de comandos e \$ não expandirá uma variável de ambiente.

As chaves são analisadas como um arquivo de configuração (de modo que condições como ‘%if’ são processadas) e, em seguida, convertidas em uma string. Elas são projetadas para evitar a necessidade de escapes adicionais ao passar um grupo de comandos tmux como um argumento (por exemplo, para if-shell). Estes dois exemplos produzem o mesmo comando - note que nenhum escape é necessário ao usar {}:


if-shell true {
display -p 'brace-dollar-foo: }$foo'
}

if-shell true "display -p 'brace-dollar-foo: }\$foo'"

As chaves podem ser aninhadas umas dentro das outras, por exemplo:

bind x if-shell "true" {
if-shell "true" {
display "true!"
}
}

Variáveis de ambiente podem ser definidas usando a sintaxe ‘nome=valor’, por exemplo ‘HOME=/home/user’. As variáveis definidas durante a análise são adicionadas ao ambiente global. Uma variável oculta pode ser definida com ‘%hidden’, por exemplo:

%hidden MYVAR=42

Variáveis ocultas não são passadas para o ambiente dos processos criados pelo tmux. Veja a seção “AMBIENTE GLOBAL E DE SESSÃO”.

Os comandos podem ser analisados condicionalmente, envolvendo-os com ‘%if’, ‘%elif’, ‘%else’ e ‘%endif’. O argumento de ‘%if’ e ‘%elif’ é expandido como um formato (veja “FORMATOS”) e, se ele for avaliado como falso (zero ou vazio), o texto subsequente é ignorado até o ‘%elif’, ‘%else’ ou ‘%endif’ de fechamento. Por exemplo:

%if "#{==:#{host},myhost}"
set -g status-style bg=red
%elif "#{==:#{host},myotherhost}"
set -g status-style bg=green
%else
set -g status-style bg=blue
%endif

Alterará a linha de status para vermelho se estiver executando em ‘myhost’, verde se estiver executando em ‘myotherhost’ ou azul se estiver executando em outro host. Os condicionais podem ser fornecidos em uma única linha, por exemplo:

%if #{==:#{host},myhost} set -g status-style bg=red %endif

COMANDOS

Esta seção descreve os comandos suportados pelo tmux. A maioria dos comandos aceita o argumento opcional -t (e às vezes -s) com um dos seguintes: target-client, target-session, target-window ou target-pane. Estes especificam o cliente, a sessão, a janela ou o painel que um comando deve afetar.

target-client deve ser o nome do cliente, normalmente o arquivo pty(4) ao qual o cliente está
conectado, por exemplo, qualquer um de /dev/ttyp1 ou ttyp1 para o cliente conectado a /dev/ttyp1. Se
nenhum cliente for especificado, o tmux tentará determinar o cliente atualmente em uso; se isso falhar, um
erro será relatado. Os clientes podem ser listados com o comando list-clients.

target-session é tentado como, em ordem:

Um ID de sessão prefixado com um $.

      Um nome exato de uma sessão (conforme listado pelo comando list-sessions).

      O início de um nome de sessão, por exemplo, ‘mysess’ corresponderia a uma sessão chamada
‘mysession’.

Um padrão glob(7) que é correspondido ao nome da sessão.

Se o nome da sessão for prefixado com um ‘=’, apenas uma correspondência exata será aceita (portanto, ‘=mysess’ corresponderá apenas exatamente a ‘mysess’, e não a ‘mysession’).

Se uma única sessão for encontrada, ela será usada como a sessão de destino; várias correspondências produzem um erro. Se uma sessão for omitida, a sessão atual será usada, se disponível; se nenhuma sessão atual estiver disponível, a mais recentemente usada será escolhida.


target-window (ou src-window ou dst-window) especifica uma janela no formato sessão:janela.
sessão segue as mesmas regras de target-session, e janela é procurada na seguinte ordem:

Um token especial, listado abaixo.

Um índice de janela, por exemplo, ‘mysession:1’ é a janela 1 na sessão ‘mysession’.

Um ID de janela, como @1.

    Um nome de janela exato, como ‘mysession:mywindow’.

    O início de um nome de janela, como ‘mysession:mywin’.

    Como um padrão glob(7) correspondido ao nome da janela.

Como as sessões, um prefixo ‘=’ fará uma correspondência exata. Um nome de janela vazio especifica o próximo
índice não utilizado, se apropriado (por exemplo, para os comandos new-window e link-window), caso contrário,
a janela atual na sessão será escolhida.

Os seguintes tokens especiais estão disponíveis para indicar janelas específicas. Cada um tem uma forma alternativa de um único caractere.

Token              Significado
    {start}       ^    A janela de menor número
    {end}         $    A janela de maior número
    {last}        !    A última janela (anteriormente atual)
    {next}        +    A próxima janela por número
    {previous}    -    A janela anterior por número

target-pane (ou src-pane ou dst-pane) pode ser um ID de pane ou usa um formato semelhante a target-window
mas com a adição opcional de um ponto seguido por um índice de pane ou ID de pane, por exemplo:
‘mysession:mywindow.1’. Se o índice de pane for omitido, a pane atualmente ativa na janela especificada será usada. Os seguintes tokens especiais estão disponíveis para o índice de pane:

Token                  Significado
    {last}            !    A última pane (anteriormente ativa)
    {next}            +    A próxima pane por número
    {previous}        -    A pane anterior por número
    {top}                  A pane superior
    {bottom}               A pane inferior
    {left}                 A pane mais à esquerda
    {right}                A pane mais à direita
    {top-left}             A pane superior esquerda
    {top-right}            A pane superior direita
    {bottom-left}          A pane inferior esquerda
    {bottom-right}         A pane inferior direita
    {up-of}                A pane acima da pane ativa
    {down-of}              A pane abaixo da pane ativa
    {left-of}              A pane à esquerda da pane ativa
    {right-of}             A pane à direita da pane ativa

Os tokens ‘+’ e ‘-’ podem ser seguidos por um deslocamento, por exemplo:

select-window -t:+2

Além disso, target-session, target-window ou target-pane podem consistir inteiramente do token
‘{mouse}’ (forma alternativa ‘=’) para especificar a sessão, janela ou pane onde o evento de mouse mais recente ocorreu (veja a seção “MOUSE SUPPORT”) ou ‘{marked}’ (forma alternativa ‘~’) para
especificar a pane marcada (veja select-pane -m).

Sessões, janelas e panes são numeradas com um ID exclusivo; os IDs de sessão são prefixados com um
‘$’, os de janela com um ‘@’ e os de pane com um ‘%’. Estes são únicos e permanecem inalterados durante a vida útil da sessão, janela ou pane no servidor tmux. O ID da pane é passado para o processo filho da
pane na variável de ambiente TMUX_PANE. Os IDs podem ser exibidos usando os formatos ‘session_id’,
‘window_id’ ou ‘pane_id’ (veja a seção “FORMATS”) e os comandos display-message,
list-sessions, list-windows ou list-panes.

Os argumentos de comando de shell são comandos sh(1). Pode ser um único argumento passado para o shell, por exemplo:

new-window 'vi ~/.tmux.conf'

Isto executará:

/bin/sh -c 'vi ~/.tmux.conf'

Além disso, os comandos new-window, new-session, split-window, respawn-window e respawn-pane permitem que o comando shell seja fornecido como vários argumentos e executado diretamente (sem 'sh -c'). Isso pode evitar problemas com aspas do shell. Por exemplo:

$ tmux new-window vi ~/.tmux.conf

Isto executará vi(1) diretamente, sem invocar o shell.

command [argument ...] refere-se a um comando tmux, passado como comando e argumentos separados, por exemplo:

bind-key F1 set-option status off

Ou passado como um único argumento de string em .tmux.conf, por exemplo:

bind-key F1 { set-option status off }

Exemplos de comandos tmux incluem:

refresh-client -t/dev/ttyp2

rename-session -tfirst newname

set-option -wt:0 monitor-activity on

new-window ; split-window -d

bind-key R source-file ~/.tmux.conf \; \
display-message "source-file done"

Ou de sh(1):

$ tmux kill-window -t :1

$ tmux new-window \; split-window -d

$ tmux new-session -d 'vi ~/.tmux.conf' \; split-window -d \; attach

CLIENTES E SESSÕES

O servidor tmux gerencia clientes, sessões, janelas e painéis. Os clientes são conectados a sessões para interagir com elas, seja quando são criados com o comando new-session ou posteriormente com o comando attach-session. Cada sessão tem uma ou mais janelas vinculadas a ela. As janelas podem estar vinculadas a várias sessões e são compostas por um ou mais painéis, cada um contendo um pseudo terminal. Os comandos para criar, vincular e manipular janelas são abordados na seção “JANELAS E PAINÉIS”.

Os seguintes comandos estão disponíveis para gerenciar clientes e sessões:

attach-session [-dErx] [-c working-directory] [-f flags] [-t target-session]
(alias: attach)

Se executado de fora do tmux, conecta-se a target-session no terminal atual. target-session deve já existir – para criar uma nova sessão, veja o comando new-session (com -A para criar ou conectar). Se usado de dentro, alterna a sessão atualmente conectada para target-session. Se -d for especificado, quaisquer outros clientes conectados à sessão são desconectados. Se -x for fornecido, envia SIGHUP para o processo pai do cliente, além de desconectar o cliente, normalmente fazendo com que ele saia. -f define uma lista separada por vírgulas de sinalizadores de cliente. Os sinalizadores são:


active-pane
o cliente tem um painel ativo independente

ignore-size
o cliente não afeta o tamanho de outros clientes

no-detach-on-destroy
não desconecte o cliente quando a sessão à qual ele está anexado for destruída, se houver outras sessões

no-output
o cliente não recebe a saída do painel no modo de controle

pause-after=seconds
a saída é pausada quando o painel estiver com `seconds` de atraso no modo de controle

read-only
o cliente é somente leitura

wait-exit
aguarde uma linha de entrada vazia antes de sair no modo de controle

Um ‘!’ no início desativa um sinalizador se o cliente já estiver anexado. `-r` é um alias para `-f read-only,ignore-size`. Quando um cliente é somente leitura, apenas as teclas associadas aos comandos `detach-client` ou `switch-client` têm efeito. Um cliente com o sinalizador `active-pane` permite que o painel ativo seja selecionado independentemente do painel ativo da janela usado por clientes sem o sinalizador. Isso afeta apenas a posição do cursor e os comandos emitidos a partir do cliente; outros recursos, como hooks e estilos, continuam a usar o painel ativo da janela.

Se nenhum servidor for iniciado, attach-session tentará iniciá-lo; isso falhará a menos que as sessões sejam criadas no arquivo de configuração.

As regras de target-session para attach-session são ligeiramente ajustadas: se o tmux precisar selecionar a sessão mais recentemente usada, ele preferirá a sessão não anexada mais recentemente usada.

-c definirá o diretório de trabalho da sessão (usado para novas janelas) para `working-directory`.

Se -E for usado, a opção update-environment não será aplicada.

detach-client [-aP] [-E shell-command] [-s target-session] [-t target-client]
(alias: detach)

Desanexe o cliente atual se estiver associado a uma tecla, o cliente especificado com -t ou todos os clientes atualmente anexados à sessão especificada por -s. A opção -a mata todos os clientes, exceto o especificado com -t. Se -P for fornecido, envie o sinal SIGHUP para o processo pai do cliente, geralmente fazendo com que ele saia. Com -E, execute o comando shell-command para substituir o cliente.

has-session [-t target-session]
(alias: has)

Relate um erro e saia com 1 se a sessão especificada não existir. Se existir, saia com 0.

kill-server

Mate o servidor tmux e os clientes e destrua todas as sessões.

kill-session [-aC] [-t target-session]

Destrua a sessão fornecida, fechando quaisquer janelas vinculadas a ela e nenhuma outra sessão, e desanexando todos os clientes anexados a ela. Se -a for fornecido, todas as sessões, exceto a especificada, serão mortas. O sinalizador -C limpa os alertas (sinal sonoro, atividade ou silêncio) em todas as janelas vinculadas à sessão.

list-clients [-F format] [-f filter] [-t target-session]
(alias: lsc)

Liste todos os clientes anexados ao servidor. -F especifica o formato de cada linha e -f um filtro. Apenas os clientes para os quais o filtro for verdadeiro são exibidos. Consulte a seção “FORMATOS”. Se target-session for especificado, liste apenas os clientes conectados a essa sessão.


list-commands [-F format] [command]
(alias: lscm)

Lista a sintaxe do comando ou - se omitido - de todos os comandos suportados pelo tmux.

list-sessions [-F format] [-f filter]
(alias: ls)

Lista todas as sessões gerenciadas pelo servidor. -F especifica o formato de cada linha e -f um filtro. Apenas as sessões para as quais o filtro é verdadeiro são exibidas. Veja a seção “FORMATOS”.

lock-client [-t target-client]
(alias: lockc)

Bloqueia o target-client, veja o comando lock-server.

lock-session [-t target-session]
(alias: locks)

Bloqueia todos os clientes conectados ao target-session.

new-session [-AdDEPX] [-c start-directory] [-e environment] [-f flags] [-F format] [-n window-name] [-s session-name] [-t group-name] [-x width] [-y height] [shell-command argument ...]
(alias: new)

Cria uma nova sessão com o nome session-name.

A nova sessão é anexada ao terminal atual, a menos que -d seja fornecido. window-name e shell-command são o nome e o comando shell a serem executados na janela inicial. Com -d, o tamanho inicial vem da opção global default-size; -x e -y podem ser usados para especificar um tamanho diferente. ‘-’ usa o tamanho do cliente atual, se houver. Se -x ou -y forem fornecidos, a opção default-size é definida para a sessão. -f define uma lista separada por vírgulas de flags de cliente (veja attach-session).

Se executado a partir de um terminal, quaisquer caracteres especiais termios(4) são salvos e usados para novas janelas na nova sessão.

A flag -A faz com que new-session se comporte como attach-session se session-name já existir; se -A for fornecido, -D se comporta como -d para attach-session e -X se comporta como -x para attach-session.

Se -t for fornecido, ele especifica um grupo de sessão. As sessões no mesmo grupo compartilham o mesmo conjunto de janelas - novas janelas são vinculadas a todas as sessões no grupo e quaisquer janelas fechadas são removidas de todas as sessões. A sessão atual e a sessão anterior e quaisquer opções de sessão permanecem independentes e qualquer sessão em um grupo pode ser encerrada sem afetar as outras. O argumento group-name pode ser:

o nome de um grupo existente, caso em que a nova sessão é adicionada a esse grupo;

o nome de uma sessão existente - a nova sessão é adicionada ao mesmo grupo dessa sessão, criando um novo grupo, se necessário;

o nome de um novo grupo contendo apenas a nova sessão.

-n e shell-command são inválidos se -t for usado.

A opção -P imprime informações sobre a nova sessão após sua criação. Por padrão, ele usa o formato ‘#{session_name}:’, mas um formato diferente pode ser especificado com -F.

Se -E for usado, a opção update-environment não será aplicada. -e assume a forma ‘VARIABLE=value’ e define uma variável de ambiente para a nova sessão; pode ser especificado várias vezes.

refresh-client [-cDLRSU] [-A pane:state] [-B name:what:format] [-C size] [-f flags] [-l [target-pane]] [-r pane:report] [-t target-client] [adjustment]
(alias: refresh)

Atualiza o cliente atual se vinculado a uma tecla, ou um único cliente se um for fornecido com -t. Se -S for especificado, apenas atualiza a linha de status do cliente.

As flags -U, -D, -L, -R e -c permitem que a porção visível de uma janela, que é maior que o cliente, seja alterada. -U move a parte visível para cima em um número de linhas ajustado e -D para baixo, -L para a esquerda em um número de colunas ajustado e -R para a direita. -c retorna ao rastreamento automático do cursor. Se o ajuste for omitido, 1 será usado. Observe que a posição visível é uma propriedade do cliente, não da janela; alterar a janela atual na sessão anexada irá redefini-la.

-C define a largura e a altura de um cliente em modo de controle ou de uma janela para um cliente em modo de controle; o tamanho deve ser um de 'larguraxaltura' ou 'ID da janela:larguraxaltura', por exemplo, '80x24' ou '@0:80x24'. -A permite que um cliente em modo de controle acione ações em um painel. O argumento é um ID de painel (com um prefixo '%'), dois pontos e um de 'ligado', 'desligado', 'continuar' ou 'pausar'. Se 'desligado', o tmux não enviará a saída do painel para o cliente e, se todos os clientes desativarem o painel, deixará de ler do painel. Se 'continuar', o tmux retornará ao envio de saída para o painel se ele tiver sido pausado (manualmente ou com a flag pause-after). Se 'pausar', o tmux pausará o painel. -A pode ser fornecido várias vezes para diferentes painéis.

-B define uma assinatura para um formato para um cliente em modo de controle. O argumento é dividido em três itens por dois pontos: o nome é um nome para a assinatura; o que é um tipo de item para o qual se inscrever; o formato é o formato. Depois que uma assinatura é adicionada, as alterações no formato são relatadas com a notificação %subscription-changed, no máximo uma vez por segundo. Se apenas o nome for fornecido, a assinatura será removida. O que pode estar vazio para verificar o formato apenas para a sessão anexada ou um de: um ID de painel, como '%0'; '%*' para todos os painéis na sessão anexada; um ID de janela, como '@0'; ou '@*' para todas as janelas na sessão anexada.

-f define uma lista separada por vírgulas de flags de cliente, consulte attach-session. -r permite que um cliente em modo de controle forneça informações sobre um painel por meio de um relatório (como a resposta para OSC 10). O argumento é um ID de painel (com um prefixo '%'), dois pontos e, em seguida, uma sequência de escape de relatório.

-l solicita a área de transferência do cliente usando a sequência de escape xterm(1). Se target-pane for fornecido, a área de transferência será enviada (em formato codificado); caso contrário, ela será armazenada em um novo buffer de colagem.

-L, -R, -U e -D movem a porção visível da janela para a esquerda, direita, cima ou baixo em um ajuste, se a janela for maior que o cliente. -c redefine para que a posição siga o cursor. Consulte a opção window-size.

rename-session [-t target-session] new-name

(alias: rename) Renomeia a sessão para new-name.

server-access [-adlrw] [user]

Altera o acesso ou a permissão de leitura/gravação do usuário. O usuário que executa o servidor tmux (seu proprietário) e o usuário root não podem ser alterados e sempre têm permissão de acesso.


-a e -d são usados para conceder ou revogar acesso para o usuário especificado. Se o usuário já estiver associado, a flag -d faz com que seus clientes sejam desassociados.

-r e -w alteram as permissões para o usuário: -r torna seus clientes somente leitura e -w, graváveis. -l lista as permissões de acesso atuais.

Por padrão, a lista de acesso está vazia e o tmux cria sockets com permissões do sistema de arquivos que impedem o acesso de qualquer usuário que não seja o proprietário (e o root). Essas permissões devem ser alteradas manualmente. Deve-se ter muito cuidado para não permitir o acesso a usuários não confiáveis, mesmo que seja apenas para leitura.

show-messages [-JT] [-t target-client]
(alias: showmsgs)

Exibe mensagens ou informações do servidor. As mensagens são armazenadas, até um máximo do limite definido pela opção de servidor message-limit. -J e -T exibem informações de depuração sobre tarefas e terminais.

source-file [-Fnqv] [-t target-pane] path ...
(alias: source)

Executa comandos de um ou mais arquivos especificados por path (que podem ser padrões glob(7)). Se -F estiver presente, path será expandido como um formato. Se -q for fornecido, nenhum erro será retornado se path não existir. Com -n, o arquivo é analisado, mas nenhum comando é executado. -v exibe os comandos analisados e os números de linha, se possível.

start-server
(alias: start)

Inicia o servidor tmux, se já não estiver em execução, sem criar nenhuma sessão.

Observe que, por padrão, o servidor tmux será encerrado se não houver sessões, portanto, isso só é útil se uma sessão for criada em ~/.tmux.conf, exit-empty for desativado ou outro comando for executado como parte da mesma sequência de comandos. Por exemplo:

$ tmux start \; show -g

suspend-client [-t target-client]
(alias: suspendc)

Suspende um cliente enviando SIGTSTP (parada do terminal).

switch-client [-ElnprZ] [-c target-client] [-t target-session] [-T key-table]
(alias: switchc)

Altera a sessão atual para o cliente target-client para target-session. Como um caso especial, -t pode se referir a um painel (um destino que contém ‘:’, ‘.’ ou ‘%’), para alterar a sessão, a janela e o painel. Nesse caso, -Z mantém a janela maximizada, se ela estiver maximizada. Se -l, -n ou -p for usado, o cliente será movido para a última, próxima ou sessão anterior, respectivamente. -r alterna as flags update-environment e ignore-size (veja o comando attach-session).

Se -E for usado, a opção update-environment não será aplicada.

-T define a tabela de teclas do cliente; a próxima tecla do cliente será interpretada a partir de key-table. Isso pode ser usado para configurar várias teclas de prefixo ou para vincular comandos a sequências de teclas. Por exemplo, para fazer com que a digitação ‘abc’ execute o comando list-keys:

bind-key -Ttable2 c list-keys
bind-key -Ttable1 b switch-client -Ttable2
bind-key -Troot a switch-client -Ttable1

JANELAS E PAINÉIS

Cada janela exibida pelo tmux pode ser dividida em um ou mais painéis; cada painel ocupa uma determinada área da tela e é um terminal separado. Uma janela pode ser dividida em painéis usando o comando split-window. As janelas podem ser divididas horizontalmente (com a flag -h) ou verticalmente. Os painéis podem ser redimensionados com o comando resize-pane (vinculado a ‘C-Up’, ‘C-Down’ ‘C-Left’ e ‘C-Right’ por padrão), o painel atual pode ser alterado com o comando select-pane e os comandos rotate-window e swap-pane podem ser usados para trocar os painéis sem alterar sua posição. Os painéis são numerados começando em zero, na ordem em que são criados.

Por padrão, um painel tmux permite o acesso direto ao terminal contido no painel. Um painel também pode ser colocado em um dos seguintes modos:

- Modo de cópia, que permite que uma seção de uma janela ou seu histórico seja copiada para um buffer de colagem para inserção posterior em outra janela. Este modo é acessado com o comando copy-mode, que por padrão está associado a ‘[’. O texto copiado pode ser colado com o comando paste-buffer, que por padrão está associado a ‘]’.

- Modo de visualização, que é semelhante ao modo de cópia, mas é acessado quando um comando que produz saída, como list-keys, é executado a partir de uma associação de teclas.

- Modo de escolha, que permite que um item seja escolhido de uma lista. Pode ser um cliente, uma sessão ou janela ou painel, ou um buffer. Este modo é acessado com os comandos choose-buffer, choose-client e choose-tree.

No modo de cópia, um indicador é exibido no canto superior direito do painel com a posição atual e o número de linhas no histórico.

Os comandos são enviados para o modo de cópia usando a flag -X para o comando send-keys. Quando uma tecla é pressionada, o modo de cópia usa automaticamente uma das duas tabelas de teclas, dependendo da opção mode-keys: copy-mode para emacs ou copy-mode-vi para vi. As tabelas de teclas podem ser visualizadas com o comando list-keys.

Os seguintes comandos são suportados no modo de cópia:

append-selection
Adiciona a seleção ao buffer de colagem superior.

append-selection-and-cancel (vi: A)
Adiciona a seleção ao buffer de colagem superior e sai do modo de cópia.

back-to-indentation (vi: ^) (emacs: M-m)
Move o cursor de volta para a indentação.

begin-selection (vi: Space) (emacs: C-Space)
Inicia a seleção.

bottom-line (vi: L)
Move para a última linha.

cancel (vi: q) (emacs: Escape)
Sai do modo de cópia.

clear-selection (vi: Escape) (emacs: C-g)
Limpa a seleção atual.

copy-end-of-line [-CP] [prefix]
Copia da posição do cursor até o final da linha. O prefixo é usado para nomear o novo buffer de colagem.

copy-end-of-line-and-cancel [-CP] [prefix]
Copia da posição do cursor e sai do modo de cópia.

copy-pipe-end-of-line [-CP] [command] [prefix]
Copia da posição do cursor até o final da linha e envia o texto para o comando. O prefixo é usado para nomear o novo buffer de colagem.

copy-pipe-end-of-line-and-cancel [-CP] [command] [prefix]
Semelhante a copy-pipe-end-of-line, mas também sai do modo de cópia.

copy-line [-CP] [prefix]
Copia a linha inteira.

copy-line-and-cancel [-CP] [prefix]

Copie a linha inteira e saia do modo de cópia.

copy-pipe-line [-CP] [command] [prefix]

Copie a linha inteira e envie o texto para o comando. O prefixo é usado para nomear o novo buffer de colagem.

copy-pipe-line-and-cancel [-CP] [command] [prefix]

Igual a copy-pipe-line, mas também sai do modo de cópia.

copy-pipe [-CP] [command] [prefix]

Copie a seleção, limpe-a e envie o texto para o comando. O prefixo é usado para nomear o novo buffer de colagem.

copy-pipe-no-clear [-CP] [command] [prefix]

Igual a copy-pipe, mas não limpe a seleção.

copy-pipe-and-cancel [-CP] [command] [prefix]

Igual a copy-pipe, mas também sai do modo de cópia.

copy-selection [-CP] [prefix]

Copie a seleção atual.

copy-selection-no-clear [-CP] [prefix]

Igual a copy-selection, mas não limpe a seleção.

copy-selection-and-cancel [-CP] [prefix] (vi: Enter) (emacs: M-w)

Copie a seleção atual e saia do modo de cópia.

cursor-down (vi: j) (emacs: Down)

Mova o cursor para baixo.

cursor-down-and-cancel

Igual a cursor-down, mas também saia do modo de cópia ao atingir a parte inferior.

cursor-left (vi: h) (emacs: Left)

Mova o cursor para a esquerda.

cursor-right (vi: l) (emacs: Right)

Mova o cursor para a direita.

cursor-up (vi: k) (emacs: Up)

Mova o cursor para cima.

cursor-centre-vertical (emacs: C-l)

Mova o cursor para o centro vertical do painel.

cursor-centre-horizontal (emacs: M-l)

Mova o cursor para o centro horizontal do painel.

end-of-line (vi: $) (emacs: C-e)

Mova o cursor para o final da linha.

goto-line line (vi: :) (emacs: g)

Mova o cursor para uma linha específica.

halfpage-down (vi: C-d) (emacs: M-Down)

Role para baixo meia página.

halfpage-down-and-cancel

Igual a halfpage-down, mas também saia do modo de cópia ao atingir a parte inferior.

halfpage-up (vi: C-u) (emacs: M-Up)

Role para cima meia página.

history-bottom (vi: G) (emacs: M->)

Role até o final do histórico.

history-top (vi: g) (emacs: M-<)

Role até o início do histórico.

jump-again (vi: ;) (emacs: ;)

Repita o último salto.

jump-backward to (vi: F) (emacs: F)

Pule para trás para o texto especificado.

jump-forward to (vi: f) (emacs: f)

Pule para frente para o texto especificado.

jump-reverse (vi: ,) (emacs: ,)

Repita o último salto na direção inversa (frente torna-se para trás e vice-versa).

jump-to-backward to (vi: T)

Pule para trás, mas um caractere a menos, colocando o cursor no caractere após o alvo.

jump-to-forward to (vi: t)

Pule para frente, mas um caractere a menos, colocando o cursor no caractere antes do alvo.

jump-to-mark (vi: M-x) (emacs: M-x)

Pule para a última marca.

middle-line (vi: M) (emacs: M-r)

Mova para a linha do meio.

next-matching-bracket (vi: %) (emacs: M-C-f)

Mova para o próximo parêntese correspondente.

next-paragraph (vi: }) (emacs: M-})

Mova para o próximo parágrafo.

next-prompt [-o]

Mova para o próximo prompt.

next-word (vi: w)

Mova para a próxima palavra.

next-word-end (vi: e) (emacs: M-f)

Mova para o final da próxima palavra.


next-space (vi: W)

Semelhante a next-word, mas usa apenas um espaço como separador de palavras.

next-space-end (vi: E)

Semelhante a next-word-end, mas usa apenas um espaço como separador de palavras.

other-end (vi: o)

Alterna a extremidade da seleção onde o cursor está posicionado.

page-down (vi: C-f) (emacs: PageDown)

Rola para baixo uma página.

page-down-and-cancel

Semelhante a page-down, mas também sai do modo de cópia ao atingir o final.

page-up (vi: C-b) (emacs: PageUp)

Rola para cima uma página.

pipe [comando]

Envia o texto selecionado para o comando e limpa a seleção.

pipe-no-clear [comando]

Semelhante a pipe, mas não limpa a seleção.

pipe-and-cancel [comando] [prefixo]

Semelhante a pipe, mas também sai do modo de cópia.

previous-matching-bracket (emacs: M-C-b)

Move para o parêntese correspondente anterior.

previous-paragraph (vi: {) (emacs: M-{)

Move para o parágrafo anterior.

previous-prompt [-o]

Move para o prompt anterior.

previous-word (vi: b) (emacs: M-b)

Move para a palavra anterior.

previous-space (vi: B)

Semelhante a previous-word, mas usa apenas um espaço como separador de palavras.

rectangle-on

Liga o modo de seleção retangular.

rectangle-off

Desliga o modo de seleção retangular.

rectangle-toggle (vi: v) (emacs: R)

Alterna o modo de seleção retangular.

refresh-from-pane (vi: r) (emacs: r)

Atualiza o conteúdo do painel.

scroll-bottom

Rola para cima até que a linha atual esteja na parte inferior, mantendo o cursor nessa linha.

scroll-down (vi: C-e) (emacs: C-Down)

Rola para baixo.

scroll-down-and-cancel

Semelhante a scroll-down, mas também sai do modo de cópia se o cursor atingir a parte inferior.

scroll-middle (vi: z)

Rola de forma que a linha atual se torne a linha do meio, mantendo o cursor nessa linha.

scroll-top

Rola para cima até que a linha atual esteja no topo, mantendo o cursor nessa linha.

scroll-up (vi: C-y) (emacs: C-Up)

Rola para cima.

search-again (vi: n) (emacs: n)

Repete a última pesquisa.

search-backward text (vi: ?)

Pesquisa para trás o texto especificado.

search-backward-incremental text (emacs: C-r)

Pesquisa incrementalmente para trás o texto especificado. Espera-se que seja usado com a flag -i do comando command-prompt.

search-backward-text text

Pesquisa para trás o texto especificado.

search-forward text (vi: /)

Pesquisa para frente o texto especificado.

search-forward-incremental text (emacs: C-s)

Pesquisa incrementalmente para frente o texto especificado. Espera-se que seja usado com a flag -i do comando command-prompt.

search-forward-text text

Pesquisa para frente o texto especificado.

search-reverse (vi: N) (emacs: N)

Repete a última pesquisa na direção inversa (para frente torna-se para trás e para trás torna-se para frente).

select-line (vi: V)

Seleciona a linha atual.

select-word

Seleciona a palavra atual.

selection-mode [char | word | line]

Altera o modo de seleção.

set-mark (vi: X) (emacs: X)

Marca a linha atual.

start-of-line (vi: 0) (emacs: C-a)

Move o cursor para o início da linha.

stop-selection

Para de selecionar sem limpar a seleção atual.


toggle-position (vi: P) (emacs: P)

Alterna a visibilidade do indicador de posição no canto superior direito.

top-line (vi: H) (emacs: M-R)

Move para a linha superior.

Os comandos de pesquisa vêm em várias variedades: ‘search-forward’ e ‘search-backward’ pesquisam por uma expressão regular; as variantes ‘-text’ pesquisam por uma string de texto simples em vez de uma expressão regular; ‘-incremental’ executa uma pesquisa incremental e espera ser usado com a flag -i do comando de linha de comando. ‘search-again’ repete a última pesquisa e ‘search-reverse’ faz o mesmo, mas inverte a direção (para frente torna-se para trás e vice-versa).

Os atalhos de teclado de pesquisa incremental padrão, ‘C-r’ e ‘C-s’, são projetados para emular emacs(1). Ao serem pressionados pela primeira vez, permitem que um novo termo de pesquisa seja inserido; se pressionados com um termo de pesquisa vazio, repetem o termo de pesquisa usado anteriormente.

Os comandos ‘next-prompt’ e ‘previous-prompt’ movem-se entre os prompts do shell, mas exigem que o shell emita uma sequência de escape (\033]133;A\033\) para informar ao tmux onde os prompts estão localizados; se o shell não fizer isso, esses comandos não farão nada. A flag -o pula para o início da saída do comando, em vez do prompt do shell. Encontrar o início da saída do comando requer que o shell emita uma sequência de escape (\033]133;C\033\) para informar ao tmux onde a saída começa. Se o shell não enviar essas sequências de escape, esses comandos não farão nada.

Os comandos de cópia podem receber um argumento de prefixo de buffer opcional, que é usado para gerar o nome do buffer (o padrão é ‘buffer’, portanto, os buffers são nomeados ‘buffer0’, ‘buffer1’ e assim por diante). Os comandos ‘pipe’ recebem um argumento de comando, que é o comando para o qual o texto selecionado é enviado. As variantes ‘copy-pipe’ também copiam a seleção. As variantes ‘-and-cancel’ de alguns comandos saem do modo de cópia após serem concluídas (para comandos de cópia) ou quando o cursor atinge a parte inferior (para comandos de rolagem). As variantes ‘-no-clear’ não limpam a seleção. Todos os comandos de cópia podem receber as flags -C e -P. A flag -C suprime a configuração da área de transferência do terminal ao copiar, enquanto a flag -P suprime a adição de um buffer de colagem com o texto.

Os atalhos de teclado de próxima e palavra anterior ignoram os espaços em branco e tratam sequências consecutivas de separadores de palavras ou outras letras como palavras. Os separadores de palavras podem ser personalizados com a opção de sessão word-separators. Próxima palavra move para o início da próxima palavra, próxima palavra final move para o final da próxima palavra e palavra anterior move para o início da palavra anterior. Os três atalhos de teclado de próximo e espaço anterior funcionam de forma semelhante, mas usam apenas um espaço como separador de palavras. Definir word-separators como uma string vazia torna próximo/palavra anterior equivalente a próximo/espaço anterior.

Os comandos de salto permitem movimentos rápidos dentro de uma linha. Por exemplo, digitar ‘f’ seguido de ‘/’ moverá o cursor para o próximo caractere ‘/’ na linha atual. Um ‘;’ então pula para a próxima ocorrência.


Em modo de cópia, os comandos podem ser precedidos por uma contagem de repetição opcional. Com as associações de teclas do vi, um prefixo é inserido usando as teclas numéricas; com o emacs, a tecla Alt (meta) e um número iniciam a entrada do prefixo.

A sintaxe para o comando do modo de cópia é:

copy-mode [-deHMqSu] [-s src-pane] [-t target-pane]

Entra no modo de cópia.

-u entra no modo de cópia e rola uma página para cima e -d uma página para baixo. -H oculta o indicador de posição no canto superior direito. -q cancela o modo de cópia e quaisquer outros modos.

-M inicia um arrasto do mouse (válido apenas se vinculado a uma associação de tecla do mouse, veja “SUPORTE AO MOUSE”).
-S rola quando vinculado a um evento de arrastar do mouse; por exemplo, copy-mode -Se é vinculado a MouseDrag1ScrollbarSlider por padrão.

-s copia de src-pane em vez de target-pane.

-e especifica que a rolagem até o final do histórico (até a tela visível) deve sair do modo de cópia. Enquanto estiver no modo de cópia, pressionar uma tecla diferente daquelas usadas para rolagem desativará este comportamento. Isso tem como objetivo permitir a rolagem rápida através do histórico de um painel, por exemplo, com:

bind PageUp copy-mode -eu
bind PageDown copy-mode -ed

Um número de arranjos predefinidos de painéis estão disponíveis, estes são chamados de layouts. Estes podem ser selecionados com o comando select-layout ou alternados com next-layout (vinculado a ‘Space’ por padrão); uma vez que um layout é escolhido, os painéis dentro dele podem ser movidos e redimensionados normalmente.

Os seguintes layouts são suportados:

even-horizontal

Os painéis são distribuídos uniformemente da esquerda para a direita na janela.

even-vertical

Os painéis são distribuídos uniformemente de cima para baixo.

main-horizontal

Um painel grande (principal) é exibido na parte superior da janela e os painéis restantes são distribuídos da esquerda para a direita no espaço restante na parte inferior. Use a opção de janela main-pane-height para especificar a altura do painel superior.

main-horizontal-mirrored

O mesmo que main-horizontal, mas espelhado para que o painel principal esteja na parte inferior da janela.

main-vertical

Um painel grande (principal) é exibido na esquerda da janela e os painéis restantes são distribuídos de cima para baixo no espaço restante à direita. Use a opção de janela main-pane-width para especificar a largura do painel esquerdo.

main-vertical-mirrored

O mesmo que main-vertical, mas espelhado para que o painel principal esteja na direita da janela.

tiled

Os painéis são distribuídos o mais uniformemente possível na janela em linhas e colunas.

Além disso, select-layout pode ser usado para aplicar um layout usado anteriormente - o comando list-windows exibe o layout de cada janela em um formato adequado para uso com select-layout. Por exemplo:

$ tmux list-windows
0 ksh [159x48]
layout: bb62,159x48,0,0{79x48,0,0,79x48,80,0}
$ tmux select-layout 'bb62,159x48,0,0{79x48,0,0,79x48,80,0}'

tmux ajusta automaticamente o tamanho do layout para o tamanho atual da janela. Observe que um layout não pode ser aplicado a uma janela com mais painéis do que aquele de onde o layout foi originalmente definido.

Os comandos relacionados a janelas e painéis são os seguintes:

break-pane [-abdP] [-F format] [-n window-name] [-s src-pane] [-t dst-window]
(alias: breakp)

Divide o painel src-pane de sua janela pai para torná-lo o único painel na janela dst-window. Com -a ou -b, a janela é movida para o próximo índice após ou antes (as janelas existentes são movidas, se necessário). Se -d for fornecido, a nova janela não se torna a janela atual. A opção -P imprime informações sobre a nova janela após a criação. Por padrão, ele usa o formato ‘#{session_name}:#{window_index}.#{pane_index}’, mas um formato diferente pode ser especificado com -F.

capture-pane [-aepPqCJMN] [-b buffer-name] [-E end-line] [-S start-line] [-t target-pane]
(alias: capturep)

Captura o conteúdo de um painel. Se -p for fornecido, a saída vai para stdout; caso contrário, para o buffer especificado com -b ou para um novo buffer, se omitido. Se -a for fornecido, a tela alternada é usada e o histórico não está acessível. Se nenhuma tela alternada existir, um erro será retornado, a menos que -q seja fornecido. Da mesma forma, se o painel estiver em um modo, -M usa a tela para o modo. Se -e for fornecido, a saída inclui sequências de escape para atributos de texto e plano de fundo. -C também escapa caracteres não imprimíveis como \xxx octal. -T ignora posições finais que não contêm um caractere. -N preserva espaços em branco no final de cada linha e -J preserva espaços em branco e une quaisquer linhas divididas; -J implica -T. -P captura apenas qualquer saída que o painel tenha recebido que seja o início de uma sequência de escape incompleta.

-S e -E especificam os números da linha inicial e final, zero é a primeira linha do painel visível e números negativos são linhas no histórico. ‘-’ para -S é o início do histórico e para -E, o final do painel visível. O padrão é capturar apenas o conteúdo visível do painel.

choose-client [-NryZ] [-F format] [-f filter] [-K key-format] [-O sort-order] [-t target-pane]
[template]

Coloca um painel no modo de cliente, permitindo que um cliente seja selecionado interativamente de uma lista. Cada cliente é mostrado em uma linha. Uma tecla de atalho é mostrada à esquerda, permitindo a seleção imediata, ou a lista pode ser navegada e um item escolhido ou manipulado usando as teclas abaixo. -Z amplia o painel. -y desativa quaisquer prompts de confirmação. As seguintes teclas podem ser usadas no modo de cliente:

Tecla Função
Enter Escolhe o cliente selecionado
Seta para cima Seleciona o cliente anterior
Seta para baixo Seleciona o próximo cliente
C-s Pesquisa pelo nome
n Repete a última pesquisa para frente
N Repete a última pesquisa para trás
t Alterna se o cliente está marcado
T Desmarca todos os clientes
C-t Marca todos os clientes
d Desanexa o cliente selecionado
D Desanexa os clientes marcados
x Desanexa e envia um sinal HUP para o cliente selecionado
X Desanexa e envia um sinal HUP para os clientes marcados
z Suspende o cliente selecionado
Z Suspende os clientes marcados
f Insere um formato para filtrar os itens
O Altera o campo de classificação
r Inverte a ordem de classificação
v Alterna a visualização prévia
q Sai do modo

Após a escolha de um cliente, ‘%%’ é substituído pelo nome do cliente no modelo e o resultado é executado como um comando. Se o modelo não for fornecido, “detach-client -t ‘%%’” será usado.

-O especifica o campo de ordenação inicial: um de ‘name’ (nome), ‘size’ (tamanho), ‘creation’ (criação, tempo) ou ‘activity’ (atividade, tempo). -r inverte a ordem de classificação. -f especifica um filtro inicial: o filtro é um formato - se for avaliado como zero, o item na lista não será exibido; caso contrário, será exibido. Se um filtro levar a uma lista vazia, ele será ignorado. -F especifica o formato para cada item na lista e -K um formato para cada tecla de atalho; ambos são avaliados uma vez para cada linha. -N inicia sem a pré-visualização ou, se fornecido duas vezes, com a pré-visualização maior. Este comando funciona apenas se pelo menos um cliente estiver conectado.

choose-tree [-GNrswyZ] [-F format] [-f filter] [-K key-format] [-O sort-order] [-t target-pane] [template]

Coloca um painel no modo de árvore, onde uma sessão, janela ou painel pode ser escolhido interativamente de uma árvore. Cada sessão, janela ou painel é mostrado em uma linha. Uma tecla de atalho é mostrada à esquerda entre colchetes, permitindo a escolha imediata, ou a árvore pode ser navegada e um item escolhido ou manipulado de outra forma usando as teclas abaixo. -s inicia com as sessões recolhidas e -w com as janelas recolhidas. -Z amplia o painel. -y desativa quaisquer prompts de confirmação. As seguintes teclas podem ser usadas no modo de árvore:

Tecla Função
Enter Escolhe o item selecionado
Up Seleciona o item anterior
Down Seleciona o próximo item
S-Up Troca a janela atual pela anterior
S-Down Troca a janela atual pela próxima
+ Expande o item selecionado
- Recolhe o item selecionado
M-+ Expande todos os itens
M-- Recolhe todos os itens
x Mata o item selecionado
X Mata os itens marcados
< Desrola a lista de pré-visualizações para a esquerda
> Desrola a lista de pré-visualizações para a direita
C-s Pesquisa pelo nome
m Define o painel marcado
M Limpa o painel marcado
n Repete a última pesquisa para frente
N Repete a última pesquisa para trás
t Alterna se o item está marcado
T Desmarca todos os itens
C-t Marca todos os itens
: Executa um comando para cada item marcado
f Insere um formato para filtrar itens
H Vai para o painel inicial
O Muda o campo de ordenação
r Inverte a ordem de classificação
v Alterna a pré-visualização
q Sai do modo

Após a escolha de uma sessão, janela ou painel, a primeira instância de ‘%%’ e todas as instâncias de ‘%1’ são substituídas pelo destino no modelo e o resultado é executado como um comando. Se o modelo não for fornecido, “switch-client -t ‘%%’” será usado.

-O especifica o campo de ordenação inicial: um de ‘index’ (índice), ‘name’ (nome) ou ‘time’ (atividade). -r inverte a ordem de classificação. -f especifica um filtro inicial: o filtro é um formato - se for avaliado como zero, o item na lista não será exibido, caso contrário, será exibido. Se um filtro levar a uma lista vazia, ele será ignorado. -F especifica o formato para cada item na árvore e -K um formato para cada tecla de atalho; ambos são avaliados uma vez para cada linha. -N inicia sem a pré-visualização ou, se fornecido duas vezes, com a pré-visualização maior. -G inclui todas as sessões em quaisquer grupos de sessões na árvore, em vez de apenas a primeira. Este comando funciona apenas se pelo menos um cliente estiver conectado.

customize-mode [-NZ] [-F format] [-f filter] [-t target-pane] [template]

Coloca um painel no modo de personalização, onde opções e associações de teclas podem ser consultadas e modificadas a partir de uma lista. Os valores das opções na lista são mostrados para o painel ativo na janela atual. -Z amplia o painel. As seguintes teclas podem ser usadas no modo de personalização:

Tecla Função
Enter Define o valor da opção do painel, janela, sessão ou global
Up Seleciona o item anterior
Down Seleciona o próximo item
+ Expande o item selecionado
- Recolhe o item selecionado
M-+ Expande todos os itens
M-- Recolhe todos os itens
s Define o valor da opção ou atributo de tecla
S Define o valor da opção global
w Define o valor da opção da janela, se a opção for para o painel e a janela
d Define uma opção ou tecla como padrão
D Define as opções e teclas marcadas como padrão
u Remove uma opção (define como o valor padrão se for global) ou remove uma associação de tecla
U Remove as opções e associações de teclas marcadas
C-s Pesquisa por nome
n Repete a última pesquisa para frente
N Repete a última pesquisa para trás
t Alterna se o item está marcado
T Desmarca todos os itens
C-t Marca todos os itens
f Insere um formato para filtrar os itens
v Alterna as informações da opção
q Sai do modo

-f especifica um filtro inicial: o filtro é um formato - se for avaliado como zero, o item na lista não é mostrado, caso contrário, é mostrado. Se um filtro resultar em uma lista vazia, ele é ignorado. -F especifica o formato para cada item na árvore. -N inicia sem as informações da opção. Este comando só funciona se pelo menos um cliente estiver conectado.

display-panes [-bN] [-d duration] [-t target-client] [template]

(alias: displayp) Exibe um indicador visível de cada painel mostrado por target-client. Consulte as opções de sessão display-panes-colour e display-panes-active-colour. O indicador é fechado quando uma tecla é pressionada (a menos que -N seja fornecido) ou após a duração especificada em milissegundos. Se -d não for fornecido, display-panes-time é usado. Uma duração de zero significa que o indicador permanece até que uma tecla seja pressionada. Enquanto o indicador estiver na tela, um painel pode ser escolhido com as teclas ‘0’ a ‘9’, o que fará com que o template seja executado como um comando com ‘%%’ substituído pelo ID do painel. O template padrão é "select-pane -t '%%'". Com -b, outros comandos não são bloqueados até que o indicador seja fechado.

find-window [-iCNrTZ] [-t target-pane] match-string

(alias: findw) Pesquisa por um padrão glob(7) ou, com -r, uma correspondência de expressão regular match-string nos nomes das janelas, títulos e conteúdo visível (mas não no histórico). As flags controlam o comportamento da correspondência: -C corresponde apenas ao conteúdo visível da janela, -N corresponde apenas ao nome da janela e -T corresponde apenas ao título da janela. -i torna a pesquisa insensível a maiúsculas e minúsculas. O padrão é -CNT. -Z amplia o painel.


Este comando funciona apenas se pelo menos um cliente estiver conectado.

join-pane [-bdfhv] [-l size] [-s src-pane] [-t dst-pane]
(alias: joinp)

Semelhante a split-window, mas em vez de dividir dst-pane e criar um novo painel, divide-o e move src-pane para o espaço. Isso pode ser usado para reverter break-pane. A opção -b faz com que src-pane seja unido à esquerda ou acima de dst-pane.

Se -s for omitido e um painel marcado estiver presente (veja select-pane -m), o painel marcado será usado em vez do painel atual.

kill-pane [-a] [-t target-pane]
(alias: killp)

Destrói o painel especificado. Se não houver painéis restantes na janela que o contém, esta também é destruída. A opção -a mata todos os painéis, exceto o painel especificado com -t.

kill-window [-a] [-t target-window]
(alias: killw)

Mata a janela atual ou a janela em target-window, removendo-a de qualquer sessão à qual esteja vinculada. A opção -a mata todas as janelas, exceto a janela especificada com -t.

last-pane [-deZ] [-t target-window]
(alias: lastp)

Seleciona o último painel (anteriormente selecionado). -Z mantém a janela ampliada se ela estivesse ampliada. -e habilita ou -d desabilita a entrada para o painel.

last-window [-t target-session]
(alias: last)

Seleciona a última janela (anteriormente selecionada). Se nenhuma target-session for especificada, seleciona a última janela da sessão atual.

link-window [-abdk] [-s src-window] [-t dst-window]
(alias: linkw)

Vincula a janela em src-window à janela especificada dst-window. Se dst-window for especificada e tal janela não existir, a src-window é vinculada a ela. Com -a ou -b, a janela é movida para o próximo índice após ou antes de dst-window (as janelas existentes são movidas, se necessário). Se -k for fornecido e dst-window existir, ela é eliminada; caso contrário, é gerado um erro. Se -d for fornecido, a janela recém-vinculada não será selecionada.

list-panes [-as] [-F format] [-f filter] [-t target]
(alias: lsp)

Se -a for fornecido, target é ignorado e todos os painéis no servidor são listados. Se -s for fornecido, target é uma sessão (ou a sessão atual). Se nenhum dos dois for fornecido, target é uma janela (ou a janela atual). -F especifica o formato de cada linha e -f um filtro. Apenas os painéis para os quais o filtro for verdadeiro são exibidos. Veja a seção “FORMATOS”.

list-windows [-a] [-F format] [-f filter] [-t target-session]
(alias: lsw)

Se -a for fornecido, lista todas as janelas no servidor. Caso contrário, lista as janelas na sessão atual ou em target-session. -F especifica o formato de cada linha e -f um filtro. Apenas as janelas para as quais o filtro for verdadeiro são exibidas. Veja a seção “FORMATOS”.

move-pane [-bdfhv] [-l size] [-s src-pane] [-t dst-pane]
(alias: movep)

Faz o mesmo que join-pane.


move-window [-abrdk] [-s src-window] [-t dst-window]
(alias: movew)

Isso é semelhante a link-window, exceto que a janela em src-window é movida para dst-window. Com -r, todas as janelas na sessão são renumeradas em ordem sequencial, respeitando a opção base-index.

new-window [-abdkPS] [-c start-directory] [-e environment] [-F format] [-n window-name] [-t
target-window] [shell-command [argument ...]]
(alias: neww)

Cria uma nova janela. Com -a ou -b, a nova janela é inserida no próximo índice após ou antes da target-window especificada, movendo as janelas para cima, se necessário; caso contrário, target-window é a localização da nova janela.

Se -d for fornecido, a sessão não torna a nova janela a janela atual. target-window representa a janela a ser criada; se a janela já existir, um erro será exibido, a menos que a flag -k seja usada, caso em que ela será destruída. Se -S for fornecido e uma janela com o nome window-name já existir, ela será selecionada (a menos que -d também seja fornecido, caso em que o comando não fará nada).

shell-command é o comando a ser executado. Se shell-command não for especificado, o valor
da opção default-command será usado. -c especifica o diretório de trabalho no qual a nova
janela é criada.

Quando o comando shell for concluído, a janela é fechada. Consulte a opção remain-on-exit para alterar este comportamento.

-e tem o formato ‘VARIABLE=value’ e define uma variável de ambiente para a nova janela
criada; pode ser especificado várias vezes.

A variável de ambiente TERM deve ser definida como ‘screen’ ou ‘tmux’ para todos os programas executados dentro do tmux. As novas janelas terão automaticamente ‘TERM=screen’ adicionado ao seu ambiente, mas deve-se ter cuidado para não redefinir isso nos arquivos de inicialização do shell ou pela opção -e.

A opção -P imprime informações sobre a nova janela após sua criação. Por padrão, ele usa o formato ‘#{session_name}:#{window_index}’, mas um formato diferente pode ser especificado com -F.

next-layout [-t target-window]
(alias: nextl)

Move uma janela para o próximo layout e reorganiza os painéis para se ajustarem.

next-window [-a] [-t target-session]
(alias: next)

Move para a próxima janela na sessão. Se -a for usado, move para a próxima janela com um alerta.

pipe-pane [-IOo] [-t target-pane] [shell-command]
(alias: pipep)

Direciona a saída enviada pelo programa em target-pane para um comando shell ou vice-versa. Um painel só pode estar conectado a um comando por vez; qualquer pipe existente é fechado antes que o shell-command seja executado. A string shell-command pode conter as sequências de caracteres especiais suportadas pela opção status-left. Se nenhum shell-command for fornecido, o pipe atual (se houver) será fechado.

-I e -O especificam qual dos fluxos de saída do shell-command são conectados ao painel:
com -I, stdout é conectado (de modo que tudo o que o shell-command imprime seja gravado no
painel como se fosse digitado); com -O, stdin é conectado (de modo que qualquer saída no
painel seja direcionada para o shell-command). Ambos podem ser usados juntos e, se nenhum
dos dois for especificado, -O será usado.

A opção -o abre um novo pipe apenas se nenhum pipe anterior existir, permitindo que um pipe seja alternado com uma única tecla, por exemplo:

bind-key C-p pipe-pane -o 'cat >>~/output.#I-#P'

previous-layout [-t target-window]
(alias: prevl)

Mova para o layout anterior na sessão.

previous-window [-a] [-t target-session]
(alias: prev)

Mova para a janela anterior na sessão. Com -a, mova para a janela anterior com um alerta.

rename-window [-t target-window] new-name
(alias: renamew)

Renomeie a janela atual ou a janela em target-window, se especificado, para new-name.

resize-pane [-DLMRTUZ] [-t target-pane] [-x width] [-y height] [adjustment]
(alias: resizep)

Redimensione um painel, para cima, para baixo, para a esquerda ou para a direita em adjustment com -U, -D, -L ou -R, ou para um tamanho absoluto com -x ou -y. O ajuste é dado em linhas ou colunas (o padrão é 1; -x e -y podem ser dados como um número de linhas ou colunas ou seguidos por ‘%’ para uma porcentagem do tamanho da janela (por exemplo, ‘-x 10%’). Com -Z, o painel ativo é alternado entre ampliado (ocupando toda a janela) e não ampliado (sua posição normal no layout).

-M inicia o redimensionamento com o mouse (válido apenas se vinculado a uma tecla de ligação do mouse, veja “SUPORTE AO MOUSE”).

-T remove todas as linhas abaixo da posição atual do cursor e move as linhas para fora do histórico para substituí-las.

resize-window [-aADLRU] [-t target-window] [-x width] [-y height] [adjustment]
(alias: resizew)

Redimensione uma janela, para cima, para baixo, para a esquerda ou para a direita em adjustment com -U, -D, -L ou -R, ou para um tamanho absoluto com -x ou -y. O ajuste é dado em linhas ou células (o padrão é 1. -A define o tamanho da maior sessão contendo a janela; -a o tamanho da menor. Este comando definirá automaticamente window-size como manual nas opções da janela.

respawn-pane [-k] [-c start-directory] [-e environment] [-t target-pane] [shell-command [argument
...]]
(alias: respawnp)

Reative um painel no qual o comando foi encerrado (veja a opção remain-on-exit da janela). Se shell-command não for fornecido, o comando usado quando o painel foi criado ou reiniciado pela última vez será executado. O painel deve já estar inativo, a menos que -k seja fornecido, caso em que qualquer comando existente será encerrado. -c especifica um novo diretório de trabalho para o painel. A opção -e tem o mesmo significado que para o comando new-window.

respawn-window [-k] [-c start-directory] [-e environment] [-t target-window] [shell-command
[argument ...]]
(alias: respawnw)

Reative uma janela na qual o comando foi encerrado (veja a opção remain-on-exit da janela). Se shell-command não for fornecido, o comando usado quando a janela foi criada ou reiniciada pela última vez será executado. A janela deve já estar inativa, a menos que -k seja fornecido, caso em que qualquer comando existente será encerrado. -c especifica um novo diretório de trabalho para a janela. A opção -e tem o mesmo significado que para o comando new-window.


rotate-window [-DUZ] [-t target-window]
(alias: rotatew)

Gira as posições dos painéis dentro de uma janela, para cima (numericamente mais baixo) com -U ou para baixo (numericamente mais alto). -Z mantém a janela ampliada, se já estiver ampliada.

select-layout [-Enop] [-t target-pane] [layout-name]
(alias: selectl)

Escolhe um layout específico para uma janela. Se layout-name não for fornecido, o último layout predefinido usado (se houver) será reaplicado. -n e -p são equivalentes aos comandos next-layout e previous-layout. -o aplica o último layout definido, se possível (desfaz a alteração de layout mais recente). -E espalha o painel atual e quaisquer painéis adjacentes uniformemente.

select-pane [-DdeLlMmRUZ] [-T title] [-t target-pane]
(alias: selectp)

Faz com que o painel target-pane seja o painel ativo em sua janela. Se uma das opções -D, -L, -R ou -U for usada, o painel abaixo, à esquerda, à direita ou acima do painel de destino será usado, respectivamente. -Z mantém a janela ampliada, se já estiver ampliada. -l é o mesmo que usar o comando last-pane. -e habilita ou -d desabilita a entrada no painel. -T define o título do painel.

-m e -M são usados para definir e limpar o painel marcado. Existe apenas um painel marcado por vez; definir um novo painel marcado limpa o último. O painel marcado é o destino padrão para -s para os comandos join-pane, move-pane e swap-pane, bem como para swap-window.

select-window [-lnpT] [-t target-window]
(alias: selectw)

Seleciona a janela em target-window. -l, -n e -p são equivalentes aos comandos last-window, next-window e previous-window. Se -T for fornecido e a janela selecionada já for a janela atual, o comando se comporta como last-window.

split-window [-bdfhIvPZ] [-c start-directory] [-e environment] [-F format] [-l size] [-t target-pane] [shell-command [argument ...]]
(alias: splitw)

Cria um novo painel dividindo target-pane: -h faz uma divisão horizontal e -v uma divisão vertical; se nenhum dos dois for especificado, -v é assumido. A opção -l especifica o tamanho do novo painel em linhas (para divisão vertical) ou em colunas (para divisão horizontal); o tamanho pode ser seguido por ‘%’ para especificar uma porcentagem do espaço disponível. A opção -b faz com que o novo painel seja criado à esquerda ou acima de target-pane. A opção -f cria um novo painel que ocupa toda a altura da janela (com -h) ou toda a largura da janela (com -v), em vez de dividir o painel ativo. -Z amplia, se a janela não estiver ampliada, ou mantém a janela ampliada, se já estiver.

Um shell-command vazio ('') criará um painel sem nenhum comando em execução. A saída pode ser enviada para esse painel usando o comando display-message. A flag -I (se shell-command não for especificado ou estiver vazio) criará um painel vazio e encaminhará qualquer saída de stdin para ele. Por exemplo:

$ make 2>&1|tmux splitw -dI &

Todas as outras opções têm o mesmo significado que para o comando new-window.


swap-pane [-dDUZ] [-s src-pane] [-t dst-pane]
(alias: swapp)

Troca duas panes. Se -U for usado e nenhuma pane de origem for especificada com -s, a pane de destino será trocada com a pane anterior (numericamente); -D troca com a próxima pane (numericamente). -d instrui o tmux a não alterar a pane ativa e -Z mantém a janela em modo de tela cheia, caso estivesse nesse modo.

Se -s for omitido e uma pane marcada estiver presente (veja select-pane -m), a pane marcada será usada em vez da pane atual.

swap-window [-d] [-s src-window] [-t dst-window]
(alias: swapw)

Isso é semelhante a link-window, exceto que as janelas de origem e destino são trocadas. É um erro se nenhuma janela existir em src-window. Se -d for fornecido, a nova janela não se torna a janela atual.

Se -s for omitido e uma pane marcada estiver presente (veja select-pane -m), a janela que contém a pane marcada será usada em vez da janela atual.

unlink-window [-k] [-t target-window]
(alias: unlinkw)

Desvincula target-window. A menos que -k seja fornecido, uma janela só pode ser desvinculada se estiver vinculada a várias sessões – as janelas não podem estar vinculadas a nenhuma sessão; se -k for especificado e a janela estiver vinculada a apenas uma sessão, ela será desvinculada e destruída.

ATALHOS DE TECLA

O tmux permite que um comando seja vinculado à maioria das teclas, com ou sem uma tecla de prefixo. Ao especificar teclas, a maioria representa a si mesma (por exemplo, ‘A’ a ‘Z’). As teclas Ctrl podem ser prefixadas com ‘C-’ ou ‘^’, as teclas Shift com ‘S-’ e Alt (meta) com ‘M-’. Além disso, os seguintes nomes de teclas especiais são aceitos: Up, Down, Left, Right, BSpace, BTab, DC (Delete), End, Enter, Escape, F1 a F12, Home, IC (Insert), NPage/PageDown/PgDn, PPage/PageUp/PgUp, Space e Tab. Observe que, para vincular as teclas ‘"’ ou ‘', as aspas são necessárias, por exemplo:

bind-key '"' split-window
bind-key "'" new-window

Um comando vinculado à tecla Any será executado para todas as teclas que não tiverem uma vinculação mais específica.

Os comandos relacionados às vinculações de teclas são os seguintes:

bind-key [-nr] [-N note] [-T key-table] key [command [argument ...]]
(alias: bind)

Vincula a tecla key ao comando. As teclas são vinculadas em uma tabela de teclas. Por padrão (sem -T), a tecla é vinculada na tabela de teclas de prefixo. Esta tabela é usada para teclas pressionadas após a tecla de prefixo (por exemplo, por padrão, ‘c’ é vinculado a new-window na tabela de prefixo, então ‘C-b c’ cria uma nova janela). A tabela raiz é usada para teclas pressionadas sem a tecla de prefixo: vincular ‘c’ a new-window na tabela raiz (não recomendado) significa que um simples ‘c’ criará uma nova janela. -n é um alias para -T root. As teclas também podem ser vinculadas em tabelas de teclas personalizadas e o comando switch-client -T pode ser usado para alternar para elas a partir de uma vinculação de teclas. A flag -r indica que esta tecla pode repetir, veja as opções initial-repeat-time e repeat-time. A flag -N anexa uma nota à tecla (mostrada com list-keys -N), que pode ser limpa passando uma string vazia. As flags -r e -N podem ser usadas sem comando para alterar uma vinculação existente.


Para visualizar as associações padrão e os comandos possíveis, consulte o comando list-keys.

list-keys [-1aN] [-P prefix-string] [-T key-table] [key]
(alias: lsk)

Lista as associações de teclas. Existem duas formas: a forma padrão lista as teclas como comandos bind-key; -N lista apenas as teclas com notas anexadas e mostra apenas a tecla e a nota para cada tecla.

Na forma padrão, todas as tabelas de teclas são listadas por padrão. -T lista apenas as teclas na tabela de teclas.

Na forma -N, apenas as teclas nas tabelas de teclas raiz e prefixo são listadas por padrão; -T também lista apenas as teclas na tabela de teclas. -P especifica um prefixo para imprimir antes de cada tecla e -1 lista apenas a primeira tecla correspondente. -a lista o comando para as teclas que não têm uma nota, em vez de ignorá-las.

send-keys [-FHKlMRX] [-c target-client] [-N repeat-count] [-t target-pane] [key ...]
(alias: send)

Envia uma tecla ou teclas para uma janela ou cliente. Cada argumento key é o nome da tecla (como 'C-a' ou 'NPage') a ser enviada; se a string não for reconhecida como uma tecla, ela será enviada como uma série de caracteres. Se -K for fornecido, as teclas serão enviadas para target-client, portanto, serão pesquisadas na tabela de teclas do cliente, em vez de target-pane. Todos os argumentos são enviados sequencialmente, do primeiro ao último. Se nenhuma tecla for fornecida e o comando estiver associado a uma tecla, então essa tecla será usada.

A flag `-l` desabilita a pesquisa do nome da tecla e processa as teclas como caracteres UTF-8 literais.
A flag `-H` espera que cada tecla seja um número hexadecimal para um caractere ASCII.

A flag `-R` faz com que o estado do terminal seja redefinido.

`-M` passa um evento de mouse (válido apenas se estiver associado a uma associação de tecla de mouse, consulte a seção "SUPORTE A MOUSE").

`-X` é usado para enviar um comando para o modo de cópia - consulte a seção "JANELAS E PAINÉIS". `-N`
especifica uma contagem de repetição e `-F` expande os formatos nos argumentos, quando apropriado.

send-prefix [-2] [-t target-pane]

Envia a tecla de prefixo ou, com -2, a tecla de prefixo secundária para uma janela, como se ela tivesse sido pressionada.

unbind-key [-anq] [-T key-table] key
(alias: unbind)

Remove a associação do comando associado à tecla. -n e -T são os mesmos que para bind-key. Se -a estiver presente, todas as associações de teclas serão removidas. A opção -q impede que erros sejam retornados.

OPÇÕES

A aparência e o comportamento do tmux podem ser modificados alterando o valor de várias opções. Cada opção pertence a um ou mais escopos (servidor, sessão, janela e painel) e tem um tipo (string, número, tecla, cor, flag, escolha ou comando). Os valores das opções do tipo flag podem ser um de: 1, on, yes, 0, off ou no; para os possíveis valores de escolha, consulte a opção respectiva; para opções de tecla, a seção "ASSOCIAÇÕES DE TECLAS"; e para opções de cor, a seção "ESTILOS".

O servidor tmux tem um conjunto de opções globais do servidor que não se aplicam a nenhuma janela ou sessão ou painel específico. Essas opções são alteradas com o comando set-option -s ou exibidas com o comando show-options -s.

Além disso, cada sessão individual pode ter um conjunto de opções de sessão e existe um conjunto separado de opções de sessão globais. As sessões que não têm uma opção específica configurada herdam o valor das opções de sessão globais. As opções de sessão são definidas ou removidas com o comando set-option e podem ser listadas com o comando show-options. As opções de servidor e sessão disponíveis estão listadas no comando set-option.

Da mesma forma, um conjunto de opções de janela é anexado a cada janela e um conjunto de opções de painel a cada painel. As opções de painel herdam das opções de janela. Isso significa que qualquer opção de painel pode ser definida como uma opção de janela para aplicar a opção a todos os painéis na janela sem que a opção seja definida, por exemplo, os seguintes comandos definirão a cor de fundo como vermelho para todos os painéis, exceto o painel 0:

set -w window-style bg=red
set -pt:.0 window-style bg=blue

Também existe um conjunto de opções de janela globais das quais qualquer opção de janela ou painel não definida é herdada. As opções de janela e painel são alteradas com os comandos set-option -w e -p e exibidas com show-option -w e -p.

O tmux também suporta opções de usuário que são prefixadas com um ‘@’. As opções de usuário podem ter qualquer nome, desde que sejam prefixadas com ‘@’, e podem ser definidas para qualquer string. Por exemplo:

$ tmux set -wq @foo "abc123"
$ tmux show -wv @foo
abc123

As opções são gerenciadas com estes comandos:

set-option [-aFgopqsuUw] [-t target-pane] option [value]
(alias: set)

Define uma opção de painel com -p, uma opção de janela com -w, uma opção de servidor com -s; caso contrário, uma opção de sessão. Se a opção não for uma opção de usuário, -w ou -s podem não ser necessários – o tmux inferirá o escopo a partir do nome da opção, assumindo -w para opções de painel. Se -g for fornecido, a opção global de sessão ou janela será definida.

-F expande os formatos no valor da opção. A flag `-u` remove uma opção, para que uma sessão herde a opção das opções globais (ou, com `-g`, restaura uma opção global para o valor padrão). `-U` remove uma opção (como `-u`) mas, se a opção for uma opção de painel, também remove a opção em quaisquer painéis na janela. `value` depende da opção e seu tipo e pode ser omitido para opções de sinalizador e escolha, para alternar seu valor (as opções de escolha alternam entre as duas primeiras escolhas).

A flag -o impede a definição de uma opção que já está definida, e a flag -q suprime erros sobre opções desconhecidas ou ambíguas.

Com -a, e se a opção esperar uma string ou um estilo, value será anexado à configuração existente. Por exemplo:

set -g status-left "foo"
set -ag status-left "bar"

Isso resultará em ‘foobar’. E:

set -g status-style "bg=red"
set -ag status-style "fg=blue"

Isso resultará em um fundo vermelho e um texto azul. Sem -a, o resultado seria o fundo padrão e um texto azul.

show-options [-AgHpqsvw] [-t target-pane] [option]
(alias: show)

Mostra as opções de painel (ou uma única opção, se option for fornecida) com -p, as opções de janela com -w, as opções de servidor com -s; caso contrário, as opções de sessão. Se a opção não for uma opção de usuário, -w ou -s podem não ser necessários – o tmux inferirá o escopo a partir do nome da opção, assumindo -w para opções de painel. As opções globais de sessão ou janela são listadas se -g for usado. -v mostra apenas o valor da opção, não o nome. Se -q for definido, nenhum erro será retornado se a opção não estiver definida. -H inclui ganchos (omitidos por padrão). -A inclui opções herdadas de um conjunto de opções pai; essas opções são marcadas com um asterisco.


As opções de servidor disponíveis são:

backspace key

Define a tecla enviada pelo tmux para a tecla Backspace.

buffer-limit number

Define o número de buffers; à medida que novos buffers são adicionados ao topo da pilha, os mais antigos são removidos da parte inferior, se necessário, para manter esse comprimento máximo.

command-alias[] name=value

Esta é uma matriz de aliases personalizados para comandos. Se um comando desconhecido corresponder a name, ele será substituído por value. Por exemplo, após:

set -s command-alias[100] zoom='resize-pane -Z'

Ao usar:

zoom -t:.1

É equivalente a:

resize-pane -Z -t:.1

Observe que os aliases são expandidos quando um comando é analisado, e não quando é executado, portanto, vincular um alias com bind-key vinculará a forma expandida.

codepoint-widths[] string

Uma opção de matriz que permite substituir as larguras dos pontos de código Unicode. Observe que a nova largura se aplica a todos os clientes. Cada entrada tem o formato codepoint=width, onde codepoint pode ser um caractere UTF-8 ou um identificador no formato U+number, onde number é um número hexadecimal.

copy-command shell-command

Define o comando para o qual o comando copy-pipe do modo de cópia deve ser direcionado quando usado sem argumentos.

default-client-command command

Define o comando padrão a ser executado quando o tmux é chamado sem um comando. O padrão é new-session.

default-terminal terminal

Define o terminal padrão para novas janelas criadas nesta sessão – o valor padrão da variável de ambiente TERM. Para que o tmux funcione corretamente, isso deve ser definido como screen, tmux ou um derivado deles.

escape-time time

Define o tempo em milissegundos que o tmux espera após a entrada de um caractere de escape para determinar se ele faz parte de uma função ou de sequências de teclas Meta.

editor shell-command

Define o comando usado quando o tmux executa um editor.

exit-empty [on | off]

Se habilitado (o padrão), o servidor será encerrado quando não houver sessões ativas.

exit-unattached [on | off]

Se habilitado, o servidor será encerrado quando não houver clientes anexados.

extended-keys [on | off | always]

Controla como as teclas modificadas (teclas pressionadas em conjunto com Control, Meta ou Shift) são relatadas. Esta é o equivalente do recurso modifyOtherKeys do xterm(1).

Quando definido como on, o programa dentro do painel pode solicitar um dos dois modos: o modo 1, que altera a sequência apenas para as teclas que não possuem uma representação bem conhecida; ou o modo 2, que altera a sequência para todas as teclas. Quando definido como always, os modos 1 e 2 ainda podem ser solicitados por aplicativos, mas o modo 1 será forçado em vez do modo padrão. Quando definido como off, esse recurso é desabilitado e apenas as teclas padrão são relatadas.


O tmux sempre solicitará chaves estendidas se o terminal as suportar. Consulte também o recurso `extkeys` para a opção `terminal-features`, a opção `extended-keys-format` e a variável `pane_key_mode`.

`extended-keys-format` [`csi-u` | `xterm`]
Seleciona um dos dois formatos possíveis para relatar chaves modificadas aos aplicativos. Isso é equivalente ao recurso `formatOtherKeys` do `xterm(1)`. Por exemplo, `C-S-a` será relatado como `^[[27;6;65~` quando definido como `xterm`, e como `^[[65;6u` quando definido como `csi-u`.

`focus-events` [`on` | `off`]
Quando habilitado, os eventos de foco são solicitados do terminal, se suportado, e passados para os aplicativos em execução no tmux. Os clientes anexados devem ser desanexados e anexados novamente após alterar esta opção.

`history-file` `path`
Se não estiver vazio, é um arquivo no qual o tmux gravará o histórico de comandos ao sair e carregará a partir dele ao iniciar.

`input-buffer-size` `bytes`
Tamanho máximo em bytes permitido para ler em sequências de escape e controle. Uma vez atingido, a sequência será descartada.

`message-limit` `number`
Define o número de mensagens de erro ou informações para salvar no registro de mensagens para cada cliente.

`prompt-history-limit` `number`
Define o número de itens de histórico a serem salvos no arquivo de histórico para cada tipo de prompt de comando.

`set-clipboard` [`on` | `external` | `off`]
Tenta definir o conteúdo da área de transferência do terminal usando a sequência de escape do `xterm(1)`, se houver uma entrada `Ms` na descrição do `terminfo(5)` (consulte a seção "EXTENSÕES TERMINFO").

Se definido como `on`, o tmux aceitará a sequência de escape para criar um buffer e tentará definir a área de transferência do terminal. Se definido como `external`, o tmux tentará definir a área de transferência do terminal, mas ignorará as tentativas dos aplicativos de definir os buffers do tmux. Se definido como `off`, o tmux não aceitará a sequência de escape da área de transferência nem tentará definir a área de transferência.

Observe que este recurso precisa ser habilitado no `xterm(1)` definindo o recurso:

`disallowedWindowOps: 20,21,SetXprop`

Ou alterando esta propriedade do menu interativo do `xterm(1)` quando necessário.

`terminal-features`[] `string`
Define os recursos do terminal para os tipos de terminal lidos do `terminfo(5)`. O tmux possui um conjunto de recursos de terminal nomeados. Cada um aplicará as alterações apropriadas na entrada `terminfo(5)` em uso.

O tmux pode detectar recursos para alguns terminais comuns; esta opção pode ser usada para informar facilmente ao tmux sobre os recursos suportados por terminais que ele não consegue detectar. A opção `terminal-overrides` permite definir recursos `terminfo(5)` individuais em vez disso; `terminal-features` é destinada a classes de funcionalidade suportadas de forma padrão, mas não relatadas por `terminfo(5)`. Deve-se ter cuidado para configurar isso apenas com os recursos que o terminal realmente suporta.

Esta é uma opção de array onde cada entrada é uma string separada por dois pontos, composta por um padrão de tipo de terminal (correspondido usando padrões glob(7)) seguido por uma lista de recursos de terminal. Os recursos disponíveis são:

256 Suporta 256 cores com as sequências de escape SGR.

clipboard
Permite definir a área de transferência do sistema.

ccolour
Permite definir a cor do cursor.

cstyle
Permite definir o estilo do cursor.

extkeys
Suporta teclas estendidas.

focus
Suporta o relatório de foco.

hyperlinks
Suporta hiperlinks OSC 8.

ignorefkeys
Ignora as teclas de função do terminfo(5) e usa apenas o conjunto interno do tmux.

margins
Suporta as margens DECSLRM.

mouse
Suporta as sequências de mouse xterm(1).

osc7
Suporta a extensão de diretório de trabalho OSC 7.

overline
Suporta o atributo SGR de linha superior.

rectfill
Suporta a sequência de escape de preenchimento de retângulo DECFRA.

RGB
Suporta a cor RGB com as sequências de escape SGR.

sixel
Suporta gráficos SIXEL.

strikethrough
Suporta a sequência de escape SGR de tachado.

sync
Suporta atualizações sincronizadas.

title
Suporta a definição de título xterm(1).

usstyle
Permite definir o estilo e a cor do sublinhado.

terminal-overrides[] string
Permite que as descrições de terminal lidas usando terminfo(5) sejam substituídas. Cada entrada é uma string separada por dois pontos, composta por um padrão de tipo de terminal (correspondido usando padrões glob(7)) e um conjunto de entradas name=value.

Por exemplo, para definir a entrada ‘clear’ do terminfo(5) como ‘\e[H\e[2J’ para todos os tipos de terminal que correspondem a ‘rxvt*’:

rxvt*:clear=\e[H\e[2J

O valor da entrada de terminal é passado por strunvis(3) antes da interpretação.

user-keys[] key
Define a lista de sequências de escape de tecla definidas pelo usuário. Cada item está associado a uma tecla com o nome ‘User0’, ‘User1’ e assim por diante.

Por exemplo:

set -s user-keys[0] "\e[5;30012~"
bind User0 resize-pane -L 3

variation-selector-always-wide [on | off]
Sempre trata o seletor de variação Unicode 16 como marcando um caractere largo. Este é um recurso de alguns terminais como parte do suporte Unicode 14.

As opções de sessão disponíveis são:

activity-action [any | none | current | other]
Define a ação em caso de atividade da janela quando monitor-activity está ligado. any significa que a atividade em qualquer janela vinculada a uma sessão causa um sinal sonoro ou mensagem (dependendo de visual-activity) na janela atual dessa sessão, none significa que toda a atividade é ignorada (equivalente a monitor-activity desligado), current significa que apenas a atividade em janelas diferentes da janela atual é ignorada e other significa que a atividade na janela atual é ignorada, mas não nas outras janelas.

assume-paste-time milliseconds
Se as teclas forem inseridas mais rapidamente do que uma a cada milissegundos, elas são consideradas como tendo sido coladas em vez de digitadas e os atalhos de teclado do tmux não são processados. O padrão é um milissegundo e zero desativa.

base-index index
Define o índice base a partir do qual um índice não utilizado deve ser pesquisado quando uma nova janela é criada. O padrão é zero.

bell-action [any | none | current | other]

Define a ação para um sinal sonoro em uma janela quando monitor-bell estiver ativado. Os valores são os mesmos de activity-action.

default-command comando-shell

Define o comando usado para novas janelas (se não especificado quando a janela é criada) como comando-shell, que pode ser qualquer comando sh(1). O padrão é uma string vazia, que instrui o tmux a criar um shell de login usando o valor da opção default-shell.

default-shell caminho

Especifique o shell padrão. Isso é usado como o shell de login para novas janelas quando a opção default-command é definida como uma string vazia e deve ser o caminho completo do executável. Ao iniciar, o tmux tenta definir um valor padrão a partir da primeira opção válida entre a variável de ambiente SHELL, o shell retornado por getpwuid(3) ou /bin/sh. Esta opção deve ser configurada quando o tmux for usado como um shell de login.

default-size LxA

Define o tamanho padrão de novas janelas quando a opção window-size é definida como manual ou quando uma sessão é criada com new-session -d. O valor é a largura e a altura separadas por um caractere 'x'. O padrão é 80x24.

destroy-unattached [off | on | keep-last | keep-group]

Se on, destrói a sessão após o último cliente ter se desconectado. Se off (o padrão), deixa a sessão órfã. Se keep-last, destrói a sessão apenas se estiver em um grupo e tiver outras sessões nesse grupo. Se keep-group, destrói a sessão, a menos que esteja em um grupo e seja a única sessão nesse grupo.

detach-on-destroy [off | on | no-detached | previous | next]

Se on (o padrão), o cliente é desconectado quando a sessão à qual está conectado é destruída. Se off, o cliente é alternado para a sessão mais recente ativa das sessões restantes. Se no-detached, o cliente é desconectado apenas se não houver sessões desconectadas; se houver sessões desconectadas, o cliente é alternado para a sessão mais recente ativa. Se previous ou next, o cliente é alternado para a sessão anterior ou seguinte em ordem alfabética.

display-panes-active-colour cor

Define a cor usada pelo comando display-panes para mostrar o indicador do painel ativo.

display-panes-colour cor

Define a cor usada pelo comando display-panes para mostrar os indicadores dos painéis inativos.

display-panes-time tempo

Define o tempo em milissegundos durante o qual os indicadores mostrados pelo comando display-panes aparecem.

display-time tempo

Define o tempo durante o qual as mensagens da linha de status e outros indicadores na tela são exibidos. Se definido como 0, as mensagens e os indicadores são exibidos até que uma tecla seja pressionada. O tempo está em milissegundos.

history-limit linhas

Define o número máximo de linhas mantidas no histórico da janela. Esta configuração se aplica apenas a novas janelas - os históricos de janela existentes não são redimensionados e mantêm o limite no momento em que foram criados.

initial-repeat-time tempo

Define o tempo em milissegundos para a repetição inicial quando uma tecla é associada com a flag -r. Isso permite que vários comandos sejam inseridos sem pressionar a tecla de prefixo novamente. Veja também a opção repeat-time. Se initial-repeat-time for zero, repeat-time será usado para a primeira pressão de tecla.


key-table key-table

Define a tabela de teclas padrão como key-table em vez de root.

lock-after-time number

Bloqueia a sessão (como o comando lock-session) após um número de segundos de inatividade. O valor padrão é não bloquear (definido como 0).

lock-command shell-command

Comando a ser executado quando cada cliente é bloqueado. O padrão é executar lock(1) com -np.

menu-style style

Define o estilo do menu. Veja a seção "ESTILOS" para saber como especificar o estilo.

menu-selected-style style

Define o estilo do item de menu selecionado. Veja a seção "ESTILOS" para saber como especificar o estilo.

menu-border-style style

Define o estilo da borda do menu. Veja a seção "ESTILOS" para saber como especificar o estilo.

menu-border-lines type

Define o tipo de caracteres usados para desenhar as bordas do menu. Veja popup-border-lines para os valores possíveis para border-lines.

message-command-style style

Define o estilo da linha de mensagem do comando de status. Isso é usado para o prompt de comando com as teclas vi(1) quando no modo de comando. Para saber como especificar o estilo, veja a seção "ESTILOS".

message-line [0 | 1 | 2 | 3 | 4]

Define a linha na qual as mensagens da linha de status e o prompt de comando são exibidos.

message-style style

Define o estilo da mensagem da linha de status. Isso é usado para mensagens e para o prompt de comando. Para saber como especificar o estilo, veja a seção "ESTILOS".

mouse [on | off]

Se definido como on, o tmux captura o mouse e permite que os eventos do mouse sejam vinculados como vinculações de teclas. Veja a seção "SUPORTE AO MOUSE" para obter detalhes.

prefix key

Define a tecla aceita como uma tecla de prefixo. Além das teclas padrão descritas em "VINCULAÇÕES DE TECLAS", o prefixo pode ser definido como a tecla especial 'None' para definir nenhum prefixo.

prefix2 key

Define uma tecla secundária aceita como uma tecla de prefixo. Como o prefixo, o prefix2 pode ser definido como 'None'.

prefix-timeout time

Define o tempo em milissegundos durante o qual o tmux espera após a entrada do prefixo antes de descartá-lo. Pode ser definido como zero para desativar qualquer tempo limite.

prompt-cursor-colour colour

Define a cor do cursor no prompt de comando.

prompt-cursor-style style

Define o estilo do cursor no prompt de comando. Veja as opções cursor-style para os estilos disponíveis.

renumber-windows [on | off]

Se definido como on, quando uma janela é fechada em uma sessão, renomeia automaticamente as outras janelas na ordem numérica. Isso respeita a opção base-index, se ela tiver sido definida. Se definido como off, não renomeia as janelas.

repeat-time time

Permite que vários comandos sejam inseridos sem pressionar a tecla de prefixo novamente no tempo especificado em milissegundos (o padrão é 500). Se uma tecla é repetida, pode ser definido quando ela é vinculada usando a flag -r para bind-key. A repetição é habilitada para as teclas padrão vinculadas ao comando resize-pane. Veja também a opção initial-repeat-time.


set-titles [on | off]
Tenta definir o título do terminal do cliente usando as entradas tsl e fsl do terminfo(5), se existirem. O tmux define automaticamente isso para a sequência \e]0;...\007 se o terminal parecer ser xterm(1). Esta opção está desativada por padrão.

set-titles-string string
String usada para definir o título do terminal do cliente se set-titles estiver ativado. Os formatos são expandidos, veja a seção “FORMATOS”.

silence-action [any | none | current | other]
Define a ação quando ocorre silêncio na janela, quando monitor-silence está ativado. Os valores são os mesmos de activity-action.

status [off | on | 2 | 3 | 4 | 5]
Mostra ou oculta a linha de status ou especifica seu tamanho. Usar on mostra uma linha de status de uma linha de altura; 2, 3, 4 ou 5 adicionam mais linhas.

status-format[] format
Especifica o formato a ser usado para cada linha da linha de status. O padrão constrói a linha de status superior a partir das várias opções de status individuais abaixo.

status-interval interval
Atualiza a linha de status a cada interval segundos. Por padrão, as atualizações ocorrerão a cada 15 segundos. Uma configuração de zero desabilita o redesenho em intervalo.

status-justify [left | centre | right | absolute-centre]
Define a posição da lista de janelas na linha de status: esquerda, centro ou direita. centre coloca a lista de janelas no centro relativo do espaço livre disponível; absolute-centre usa o centro do espaço horizontal total.

status-keys [vi | emacs]
Usa vinculações de teclas no estilo vi ou emacs na linha de status, por exemplo, no prompt de comando. O padrão é emacs, a menos que as variáveis de ambiente VISUAL ou EDITOR sejam definidas e contenham a string ‘vi’.

status-left string
Exibe uma string (por padrão, o nome da sessão) à esquerda da linha de status. A string será passada para strftime(3). Veja também as seções “FORMATOS” e “ESTILOS”.

#(sysctl vm.loadavg)
#[fg=yellow,bold]#(apm -l)%%#[default] [#S]

O padrão é ‘[\#S]’.

status-left-length length
Define o comprimento máximo do componente esquerdo da linha de status. O padrão é 10.

status-left-style style
Define o estilo da parte esquerda da linha de status. Para como especificar o estilo, veja a seção “ESTILOS”.

status-position [top | bottom]
Define a posição da linha de status.

status-right string
Exibe uma string à direita da linha de status. Por padrão, o título do painel atual entre aspas duplas, a data e a hora são mostrados. Assim como em status-left, a string será passada para strftime(3) e os pares de caracteres serão substituídos.

status-right-length length
Define o comprimento máximo do componente direito da linha de status. O padrão é 40.

status-right-style style
Define o estilo da parte direita da linha de status. Para como especificar o estilo, veja a seção “ESTILOS”.

status-style style
Define o estilo da linha de status. Para como especificar o estilo, veja a seção “ESTILOS”.

update-environment[] variável

Define a lista de variáveis de ambiente a serem copiadas para o ambiente da sessão quando uma nova sessão é criada ou uma sessão existente é anexada. Quaisquer variáveis que não existam no ambiente de origem serão removidas do ambiente da sessão (como se a opção -r fosse fornecida para o comando set-environment).

visual-activity [on | off | both]

Se definido como "on", exibe uma mensagem em vez de enviar um sinal sonoro quando ocorre atividade em uma janela para a qual a opção de janela monitor-activity está habilitada. Se definido como "both", um sinal sonoro e uma mensagem são produzidos.

visual-bell [on | off | both]

Se definido como "on", exibe uma mensagem em uma janela para a qual a opção de janela monitor-bell está habilitada, em vez de enviá-la para o terminal (o que normalmente produz um som). Se definido como "both", um sinal sonoro e uma mensagem são produzidos. Consulte também a opção bell-action.

visual-silence [on | off | both]

Se monitor-silence estiver habilitado, imprime uma mensagem após o intervalo expirar em uma determinada janela, em vez de enviar um sinal sonoro. Se definido como "both", um sinal sonoro e uma mensagem são produzidos.

word-separators string

Define a concepção da sessão sobre quais caracteres são considerados separadores de palavras, para os fins dos comandos de próxima e palavra anterior no modo de cópia.

As opções de janela disponíveis são:

aggressive-resize [on | off]

Redimensiona agressivamente a janela escolhida. Isso significa que o tmux redimensionará a janela para o tamanho da menor ou maior sessão (veja a opção window-size) para a qual ela é a janela atual, em vez da sessão à qual está anexada. A janela pode redimensionar quando a janela atual for alterada em outra sessão; esta opção é boa para programas de tela cheia que suportam SIGWINCH e ruim para programas interativos, como shells.

automatic-rename [on | off]

Controla a renomeação automática de janelas. Quando esta configuração está habilitada, o tmux renomeará a janela automaticamente usando o formato especificado por automatic-rename-format. Esta opção é automaticamente desabilitada para uma janela individual quando um nome é especificado na criação com new-window ou new-session, ou posteriormente com rename-window, ou com uma sequência de escape de terminal. Pode ser desativada globalmente com:

set-option -wg automatic-rename off

automatic-rename-format format

O formato (veja a seção “FORMATOS”) usado quando a opção automatic-rename está habilitada.

clock-mode-colour colour

Define a cor do relógio.

clock-mode-style [12 | 24 | 12-with-seconds | 24-with-seconds]

Define o formato da hora do relógio.

fill-character character

Define o caractere usado para preencher áreas do terminal não utilizadas por uma janela.

main-pane-height height
main-pane-width width

Define a altura ou largura do painel principal (esquerdo ou superior) nos layouts main-horizontal, main-horizontal-mirrored, main-vertical ou main-vertical-mirrored. Se seguido por "%", isso é uma porcentagem do tamanho da janela.

copy-mode-match-style style

Define o estilo das correspondências de pesquisa no modo de cópia. Para como especificar o estilo, veja a seção “ESTILOS”.


copy-mode-mark-style estilo

Define o estilo da linha que contém a marca no modo de cópia. Para saber como especificar o estilo, consulte a seção “ESTILOS”.

copy-mode-current-match-style estilo

Define o estilo da correspondência de pesquisa atual no modo de cópia. Para saber como especificar o estilo, consulte a seção “ESTILOS”.

copy-mode-position-format formato

Formato do indicador de posição no modo de cópia.

mode-keys [vi | emacs]

Use associações de teclas no estilo vi ou emacs no modo de cópia. O padrão é emacs, a menos que VISUAL ou EDITOR contenha ‘vi’.

copy-mode-position-style estilo

Define o estilo do indicador de posição no modo de cópia. Para saber como especificar o estilo, consulte a seção “ESTILOS”.

copy-mode-selection-style estilo

Define o estilo da seleção no modo de cópia. Para saber como especificar o estilo, consulte a seção “ESTILOS”.

mode-style estilo

Define o estilo dos modos de janela. Para saber como especificar o estilo, consulte a seção “ESTILOS”.

monitor-activity [on | off]

Monitora a atividade na janela. Janelas com atividade são destacadas na linha de status.

monitor-bell [on | off]

Monitora um sinal sonoro na janela. Janelas com um sinal sonoro são destacadas na linha de status.

monitor-silence [intervalo]

Monitora o silêncio (sem atividade) na janela dentro de um intervalo de segundos. Janelas que estiveram silenciosas por esse intervalo são destacadas na linha de status. Um intervalo de zero desativa o monitoramento.

other-pane-height altura

Define a altura dos outros painéis (não o painel principal) nos layouts main-horizontal e main-horizontal-mirrored. Se esta opção for definida como 0 (o padrão), não terá efeito. Se ambas as opções main-pane-height e other-pane-height estiverem definidas, o painel principal ficará mais alto para que os outros painéis atinjam a altura especificada, mas nunca diminuirá para fazê-lo. Se seguido por ‘%’, este é uma porcentagem do tamanho da janela.

other-pane-width largura

Semelhante a other-pane-height, mas define a largura de outros painéis nos layouts main-vertical e main-vertical-mirrored.

pane-active-border-style estilo

Define o estilo da borda do painel atualmente ativo. Para saber como especificar o estilo, consulte a seção “ESTILOS”. Os atributos são ignorados.

pane-base-index índice

Semelhante a base-index, mas define o índice inicial para os números dos painéis.

pane-border-format formato

Define o texto mostrado nas linhas de status da borda do painel.

pane-border-indicators [off | colour | arrows | both]

Indica o painel ativo colorindo apenas metade da borda em janelas com exatamente dois painéis, exibindo marcadores de seta, desenhando ambos ou nenhum.

pane-border-lines tipo

Define o tipo de caracteres usados para desenhar as bordas dos painéis. O tipo pode ser um dos seguintes:

single linhas simples usando caracteres ACS ou UTF-8

double linhas duplas usando caracteres UTF-8

heavy linhas grossas usando caracteres UTF-8

simple caracteres ASCII simples

number o número do painel

spaces caracteres de espaço

‘double’ e ‘heavy’ retornarão ao uso de caracteres de desenho de linha ACS padrão quando o UTF-8 não for suportado.


pane-border-status [desligado | superior | inferior]

Desliga as linhas de status da borda do painel ou define sua posição.

pane-border-style estilo

Define o estilo da borda do painel para painéis diferentes do painel ativo. Para saber como especificar o estilo, consulte a seção “ESTILOS”. Os atributos são ignorados.

popup-style estilo

Define o estilo da janela pop-up. Consulte a seção “ESTILOS” para saber como especificar o estilo. Os atributos são ignorados.

popup-border-style estilo

Define o estilo da borda da janela pop-up. Consulte a seção “ESTILOS” para saber como especificar o estilo. Os atributos são ignorados.

popup-border-lines tipo

Define o tipo de caracteres usados para desenhar as bordas da janela pop-up. O tipo pode ser um dos seguintes:

single linhas simples usando caracteres ACS ou UTF-8 (padrão)

rounded
variação de single com cantos arredondados usando caracteres UTF-8

double linhas duplas usando caracteres UTF-8

heavy linhas grossas usando caracteres UTF-8

simple caracteres ASCII simples

padded caractere de espaço ASCII simples

none sem borda

‘double’ e ‘heavy’ retornarão para o desenho de linhas ACS padrão quando o UTF-8 não for suportado.

pane-scrollbars [desligado | modal | ligado]

Quando habilitado, uma barra de rolagem baseada em caracteres aparece na esquerda ou direita de cada painel. Uma seção preenchida da barra de rolagem, conhecida como ‘slider’, representa a posição e o tamanho da parte visível do conteúdo do painel.

Se definido como ligado, a barra de rolagem é visível o tempo todo. Se definido como modal, a barra de rolagem aparece apenas quando o painel está no modo de cópia ou no modo de visualização. Quando a barra de rolagem está visível, o painel é reduzido pela largura da barra de rolagem e o texto no painel é reajustado. Se definido como modal, o painel é reduzido apenas quando a barra de rolagem está visível.

Veja também pane-scrollbars-style.

pane-scrollbars-style estilo

Define o estilo das barras de rolagem. Para saber como especificar o estilo, consulte a seção “ESTILOS”. A cor de primeiro plano é usada para o slider, o fundo para o restante da barra de rolagem. O atributo de largura define a largura da barra de rolagem e o atributo de preenchimento define o espaço entre a barra de rolagem e o painel. Outros atributos são ignorados.

pane-scrollbars-position [esquerda | direita]

Define qual lado do painel exibir as barras de rolagem.

pane-status-current-style estilo

Define o estilo da linha de status para o painel atualmente ativo. Para saber como especificar o estilo, consulte a seção “ESTILOS”.

pane-status-style estilo

Define o estilo da linha de status para um único painel. Para saber como especificar o estilo, consulte a seção “ESTILOS”.

session-status-current-style estilo

Define o estilo da linha de status para a sessão atualmente ativa. Para saber como especificar o estilo, consulte a seção “ESTILOS”.

session-status-style estilo

Define o estilo da linha de status para uma única sessão. Para saber como especificar o estilo, consulte a seção “ESTILOS”.

tiled-layout-max-columns número

Define o número máximo de colunas no layout em mosaico. Um valor de 0 (o padrão) significa que não há limite. Quando um limite é definido, os painéis são dispostos para não exceder este número de colunas, com painéis adicionais empilhados em linhas extras.


window-status-activity-style style

Define o estilo da linha de status para janelas com um alerta de atividade. Para saber como especificar o estilo, consulte a seção “ESTILOS”.

window-status-bell-style style

Define o estilo da linha de status para janelas com um alerta de campainha. Para saber como especificar o estilo, consulte a seção “ESTILOS”.

window-status-current-format string

Semelhante a window-status-format, mas é o formato usado quando a janela é a janela atual.

window-status-current-style style

Define o estilo da linha de status para a janela ativa. Para saber como especificar o estilo, consulte a seção “ESTILOS”.

window-status-format string

Define o formato em que a janela é exibida na lista de janelas da linha de status. Consulte as seções “FORMATOS” e “ESTILOS”.

window-status-last-style style

Define o estilo da linha de status para a última janela ativa. Para saber como especificar o estilo, consulte a seção “ESTILOS”.

window-status-separator string

Define o separador desenhado entre as janelas na linha de status. O padrão é um único caractere de espaço.

window-status-style style

Define o estilo da linha de status para uma única janela. Para saber como especificar o estilo, consulte a seção “ESTILOS”.

window-size largest | smallest | manual | latest

Configure como o tmux determina o tamanho da janela. Se definido como largest, o tamanho da maior sessão anexada é usado; se smallest, o tamanho da menor. Se manual, o tamanho de uma nova janela é definido a partir da opção default-size e as janelas são redimensionadas automaticamente. Com latest, o tmux usa o tamanho do cliente que teve a atividade mais recente. Consulte também o comando resize-window e a opção aggressive-resize.

wrap-search [on | off]

Se esta opção estiver definida, as pesquisas serão repetidas até o final do conteúdo do painel. O padrão é on.

As opções de painel disponíveis são:

allow-passthrough [on | off | all]

Permite que os programas no painel ignorem o tmux usando uma sequência de escape de terminal (\ePtmux;...\e\). Se definido como on, as sequências de passagem serão permitidas apenas se o painel estiver visível. Se definido como all, elas serão permitidas mesmo que o painel esteja invisível.

allow-rename [on | off]

Permite que os programas no painel alterem o nome da janela usando uma sequência de escape de terminal (\ek...\e\).

allow-set-title [on | off]

Permite que os programas no painel alterem o título usando as sequências de escape de terminal (\e]2;...\e\ ou \e]0;...\e\).

alternate-screen [on | off]

Esta opção configura se os programas em execução dentro do painel podem usar o recurso de tela alternada do terminal, que permite os recursos smcup e rmcup do terminfo(5). O recurso de tela alternada preserva o conteúdo da janela quando um aplicativo interativo é iniciado e o restaura quando sai, para que qualquer saída visível antes do início do aplicativo reapareça inalterada após a saída.

cursor-colour colour

Define a cor do cursor.

cursor-style style

Define o estilo do cursor. Os estilos disponíveis são: default, blinking-block, block, blinking-underline, underline, blinking-bar, bar.


pane-colours[] cor
A paleta de cores padrão. Cada entrada na matriz define a cor que o tmux usa quando a cor com esse índice é solicitada. O índice pode estar entre zero e 255.

remain-on-exit [on | off | failed]
Um painel com essa flag definida não é destruído quando o programa em execução nele é encerrado. Se definido como failed, então apenas quando o status de saída do programa não for zero. O painel pode ser reativado com o comando respawn-pane.

remain-on-exit-format string
Define o texto exibido na parte inferior dos painéis encerrados quando remain-on-exit está habilitado.

scroll-on-clear [on | off]
Quando toda a tela é limpa e essa opção está ativada, role o conteúdo da tela para o histórico antes de limpá-lo.

synchronize-panes [on | off]
Duplica a entrada para todos os outros painéis na mesma janela onde esta opção também está ativada (apenas para painéis que não estão em nenhum modo).

window-active-style style
Define o estilo do painel quando ele é o painel ativo. Para saber como especificar o estilo, consulte a seção "ESTILOS".

window-style style
Define o estilo do painel. Para saber como especificar o estilo, consulte a seção "ESTILOS".

GANCHOS

O tmux permite que comandos sejam executados em vários gatilhos, chamados de ganchos. A maioria dos comandos tmux tem um gancho "after" e existem vários ganchos não associados a comandos.

Os ganchos são armazenados como opções de matriz, os membros da matriz são executados em ordem quando o gancho é acionado. Como as opções, os ganchos podem ser globais ou pertencer a uma sessão, janela ou painel. Os ganchos podem ser configurados com os comandos set-hook ou set-option e exibidos com show-hooks ou show-options -H. Os dois comandos a seguir são equivalentes:

set-hook -g pane-mode-changed[42] 'set -g status-left-style bg=red'
set-option -g pane-mode-changed[42] 'set -g status-left-style bg=red'

Definir um gancho sem especificar o índice da matriz limpa o gancho e define o primeiro membro da matriz.

O gancho "after" de um comando é executado após a conclusão, exceto quando o comando é executado como parte de um gancho. Eles são nomeados com o prefixo "after-". Por exemplo, o seguinte comando adiciona um gancho para selecionar o layout "even-vertical" após cada split-window:

set-hook -g after-split-window "selectl even-vertical"

Se um comando falhar, o gancho "command-error" será acionado. Por exemplo, isso pode ser usado para gravar em um arquivo de log:

set-hook -g command-error "run-shell \"echo 'um comando tmux falhou' >>/tmp/log\""

Todas as notificações listadas na seção "MODO DE CONTROLE" são ganchos (sem argumentos), exceto %exit. Os seguintes ganchos adicionais estão disponíveis:

alert-activity
    Executa quando uma janela tem atividade. Veja monitor-activity.

alert-bell
    Executa quando uma janela recebeu um sinal sonoro. Veja monitor-bell.

alert-silence
    Executa quando uma janela está inativa. Veja monitor-silence.

client-active
    Executa quando um cliente se torna o cliente ativo mais recente de sua sessão.

client-attached     Executa quando um cliente é anexado.

client-detached     Executa quando um cliente é destacado.

client-focus-in     Executa quando o foco entra em um cliente.

client-focus-out        Executa quando o foco sai de um cliente.

client-resized      Executa quando um cliente é redimensionado.

client-session-changed  Executa quando a sessão anexada de um cliente é alterada.

client-light-theme      Executa quando um cliente muda para um tema claro.

client-dark-theme       Executa quando um cliente muda para um tema escuro.

command-error       Executa quando um comando falha.

pane-died           Executa quando o programa em execução em um painel é encerrado, mas a opção remain-on-exit está ativa, de modo que o painel não é fechado.

pane-exited         Executa quando o programa em execução em um painel é encerrado.

pane-focus-in       Executa quando o foco entra em um painel, se a opção focus-events estiver ativa.

pane-focus-out      Executa quando o foco sai de um painel, se a opção focus-events estiver ativa.

pane-set-clipboard  Executa quando a área de transferência do terminal é definida usando a sequência de escape xterm(1).

session-created     Executa quando uma nova sessão é criada.

session-closed      Executa quando uma sessão é fechada.

session-renamed     Executa quando uma sessão é renomeada.

window-layout-changed   Executa quando o layout da janela é alterado.

window-linked       Executa quando uma janela é vinculada a uma sessão.

window-renamed      Executa quando uma janela é renomeada.

window-resized      Executa quando uma janela é redimensionada. Isso pode ocorrer após a execução do hook client-resized.

window-unlinked     Executa quando uma janela é desvinculada de uma sessão.

Os hooks são gerenciados com estes comandos:

set-hook [-agpRuw] [-t target-pane] hook-name [command]

Sem -R, define (ou com -u, remove) o hook hook-name para o comando. As flags são as mesmas de set-option.

Com -R, executa o hook hook-name imediatamente.

show-hooks [-gpw] [-t target-pane] [hook]

Mostra os hooks. As flags são as mesmas de show-options.

SUPORTE AO MOUSE

Se a opção mouse estiver ativada (o padrão é desativado), o tmux permite que eventos do mouse sejam vinculados como teclas. O nome de cada tecla é composto por um evento do mouse (como ‘MouseUp1’) e um sufixo de localização, um dos seguintes:

Pane        o conteúdo de um painel
Border      a borda de um painel
Status      a linha de status da lista de janelas
StatusLeft      a parte esquerda da linha de status
StatusRight     a parte direita da linha de status
StatusDefault       qualquer outra parte da linha de status
ScrollbarSlider o controle deslizante da barra de rolagem
ScrollbarUp     acima do controle deslizante da barra de rolagem
ScrollbarDown       abaixo do controle deslizante da barra de rolagem

Os seguintes eventos do mouse estão disponíveis:

WheelUp     WheelDown
MouseDown1      MouseUp1        MouseDrag1      MouseDragEnd1
MouseDown2      MouseUp2        MouseDrag2      MouseDragEnd2
MouseDown3      MouseUp3        MouseDrag3      MouseDragEnd3
SecondClick1        SecondClick2        SecondClick3
DoubleClick1        DoubleClick2        DoubleClick3
TripleClick1        TripleClick2        TripleClick3

Os eventos ‘SecondClick’ são acionados para o segundo clique de um clique duplo, mesmo que possa haver um terceiro clique, que acionará ‘TripleClick’ em vez de ‘DoubleClick’.


Cada um deve ser sufixado com uma localização, por exemplo, ‘MouseDown1Status’.

O token especial ‘{mouse}’ ou ‘=’ pode ser usado como janela de destino ou painel de destino em comandos vinculados a teclas do mouse. Ele é resolvido para a janela ou painel sobre o qual o evento do mouse ocorreu (por exemplo, a janela na linha de status sobre a qual o botão 1 foi solto para uma vinculação ‘MouseUp1Status’ ou o painel sobre o qual a roda foi rolada para uma vinculação ‘WheelDownPane’).

A flag -M pode ser usada com o comando send-keys para encaminhar um evento de mouse para um painel.

As vinculações de teclas padrão permitem que o mouse seja usado para selecionar e redimensionar painéis, copiar texto e alterar a janela usando a linha de status. Elas entram em vigor se a opção mouse estiver ativada.

FORMATOS

Certos comandos aceitam a flag -F com um argumento de formato. Este é uma string que controla o formato de saída do comando. As variáveis de formato são delimitadas por ‘#{’ e ‘}’, por exemplo, ‘#{session_name}’. As possíveis variáveis estão listadas na tabela abaixo, ou o nome de uma opção tmux pode ser usado para o valor de uma opção, ou o nome de uma variável de ambiente. Algumas variáveis têm um alias mais curto, como ‘#S’; ‘##’ é substituído por um único ‘#’, ‘#, ‘ por uma ‘,’ e ‘#}’ por um ‘}’.

Condicionais estão disponíveis prefixando com ‘?’. Para cada par de dois argumentos, se a variável no primeiro do par existir e não for zero, o segundo do par é escolhido; caso contrário, ele continua. Se nenhum condicional de argumentos pareados corresponder, o valor padrão é escolhido. Se houver um argumento final não pareado, esse é o padrão. Caso contrário, o padrão é uma string vazia. Por exemplo, ‘#{?session_attached,attached,not attached}’ incluirá a string ‘attached’ se a sessão estiver anexada e a string ‘not attached’ se não estiver. ‘#{?automatic-rename,yes,no}’ incluirá ‘yes’ se automatic-rename estiver habilitado ou ‘no’ se não estiver. ‘#{?#{n:window_name},#{window_name} - }’ incluirá o nome da janela com um separador de traço, se houver um nome de janela, ou a string vazia se o nome da janela estiver vazio. ‘#{?session_format,format1,window_format,format2,format3}’ incluirá format1 para um formato de sessão, format2 para um formato de janela ou format3 para nenhum formato de sessão ou janela. Os condicionais podem ser aninhados arbitrariamente. Dentro de um condicional, ‘,’ e ‘}’ devem ser escapados como ‘#,’ e ‘#}’, a menos que façam parte de uma substituição ‘#{...}’. Por exemplo:

#{?pane_in_mode,#[fg=white#,bg=red],#[fg=red#,bg=white]}#W

Comparações de string podem ser expressas prefixando dois valores separados por vírgula com ‘==’, ‘!=’, ‘<’, ‘>’, ‘<=’ ou ‘>=’ e dois pontos. Por exemplo, ‘#{==:#{host},myhost}’ será substituído por ‘1’ se estiver em execução em ‘myhost’, caso contrário, por ‘0’. ‘||’ e ‘&&’ avaliam como verdadeiro se algum ou todos dos valores separados por vírgula forem verdadeiros, por exemplo, ‘#{||:#{pane_in_mode},#{alternate_on}}’. ‘!’ avalia como verdadeiro se o valor for falso e vice-versa, por exemplo, ‘#{!:#{pane_in_mode}}’. ‘!!’ converte um valor para uma forma booleana canônica, 1 para verdadeiro e 0 para falso, por exemplo, ‘#{!!:non-empty string}’ avalia como 1.

Um ‘m’ especifica uma comparação de padrão glob(7) ou expressão regular. O primeiro argumento é
o padrão e o segundo é a string a ser comparada. Um argumento opcional especifica flags: ‘r’ significa
que o padrão é uma expressão regular em vez do padrão glob(7) padrão, e ‘i’ significa ignorar maiúsculas e minúsculas. Por exemplo: ‘#{m:*foo*,#{host}}’ ou ‘#{m/ri:^A,MYVAR}’. Um ‘C’ executa uma pesquisa por um
padrão glob(7) ou expressão regular no conteúdo do painel e retorna zero se não for encontrado,
ou o número da linha se for encontrado. Semelhante a ‘m’, uma flag ‘r’ significa pesquisar por uma expressão regular e ‘i’ ignora maiúsculas e minúsculas. Por exemplo: ‘#{C/r:^Start}’

Operações numéricas podem ser realizadas prefixando duas alternativas separadas por vírgula com um ‘e’ e
um operador. Uma flag ‘f’ opcional pode ser fornecida após o operador para usar números de ponto flutuante,
caso contrário, são usados inteiros. Isso pode ser seguido por um número que indica o número de casas
decimais a serem usadas para o resultado. Os operadores disponíveis são: adição ‘+’, subtração ‘-’, multiplicação ‘*’, divisão ‘/’, módulo ‘m’ ou ‘%’ (observe que ‘%’ deve ser escapado como ‘%%’ em formatos
que também são expandidos por strftime(3)) e operadores de comparação numérica ‘==’, ‘!=’, ‘<’, ‘<=’,
‘>’ e ‘>=’. Por exemplo, ‘#{e|*|f|4:5.5,3}’ multiplica 5.5 por 3 para um resultado com quatro casas
decimais e ‘#{e|%%:7,3}’ retorna o módulo de 7 e 3. ‘a’ substitui um argumento numérico por seu
equivalente ASCII, então ‘#{a:98}’ resulta em ‘b’. ‘c’ substitui uma cor tmux por seu valor RGB hexadecimal de seis dígitos.

Um limite pode ser colocado no comprimento da string resultante prefixando-a com um ‘=’, um número e dois pontos. Números positivos contam a partir do início da string e números negativos a partir do final, então
‘#{=5:pane_title}’ incluirá no máximo os primeiros cinco caracteres do título do painel, ou
‘#{=-5:pane_title}’ os últimos cinco caracteres. Um sufixo ou prefixo pode ser fornecido como um segundo
argumento - se fornecido, ele será anexado ou prefixado à string se o comprimento tiver sido truncado,
por exemplo, ‘\#{=/5/...:pane\_title}’ anexará ‘...’ se o título do painel tiver mais de cinco caracteres.  Semelhante, ‘p’ preenche a string até uma largura especificada, por exemplo, ‘\#{p10:pane\_title}’ resultará em uma largura de pelo menos 10 caracteres. Uma largura positiva preenche à esquerda, uma negativa à
direita. ‘n’ se expande para o comprimento da variável e ‘w’ para sua largura quando exibida, por exemplo, ‘#{n:window_name}’. ‘R’ repete o primeiro argumento um número de vezes dado pelo
segundo argumento, então ‘#{R:a,3}’ resultará em ‘aaa’.

Prefixar uma variável de tempo com ‘t:’ a converterá em uma string, então se ‘#{window_activity}’ retornar ‘1445765102’, ‘#{t:window_activity}’ retornará ‘Sun Oct 25 09:25:02 2015’. Adicionar ‘p(’ ‘t/p’) usará um formato de tempo mais curto, mas menos preciso, para tempos no passado. Um formato personalizado pode ser fornecido usando um sufixo ‘f’ (observe que ‘%’ deve ser escapado como ‘%%’ se o formato estiver sendo passado separadamente para strftime(3), por exemplo, na opção status-left): ‘#{t/f/%%H#:%%M:window_activity}’, veja strftime(3).

Os prefixos ‘b:’ e ‘d:’ são basename(3) e dirname(3) da variável, respectivamente. ‘q:’ escapará caracteres especiais sh(1) ou, com o sufixo ‘h’, caracteres de hash (de modo que ‘#’ se torne ‘##’). ‘E:’ expandirá o formato duas vezes; por exemplo, ‘#{E:status-left}’ é o resultado de expandir o conteúdo da opção status-left em vez da própria opção. ‘T:’ é como ‘E:’ mas também expande os especificadores strftime(3). ‘S:’, ‘W:’, ‘P:’ ou ‘L:’ iterará sobre cada sessão, janela, painel ou cliente e inserirá o formato uma vez para cada um. ‘L:’, ‘S:’ e ‘W:’ podem receber um argumento de classificação opcional ‘/i’, ‘/n’, ‘/t’ para classificar por índice, nome ou hora da última atividade; além disso, ‘/r’ para classificar em ordem reversa. ‘/r’ também pode ser usado com ‘P:’ para inverter a ordem de classificação por índice de painel. Por exemplo, ‘S/nr:’ para classificar sessões por nome em ordem reversa. Para cada um, dois formatos separados por vírgula podem ser fornecidos: o segundo é usado para a janela atual, painel ativo ou sessão ativa. Por exemplo, para obter uma lista de janelas formatadas como a linha de status:

\#{W:\#{E:window-status-format} ,\#{E:window-status-current-format} }

‘N:’ verifica se um nome de janela (sem nenhum sufixo ou com o sufixo ‘w’) ou uma sessão (com o sufixo ‘s’) existe; por exemplo, ‘`N/w:foo`’ é substituído por 1 se uma janela chamada ‘foo’ existir.

Um prefixo do formulário ‘s/foo/bar/:’ substituirá ‘foo’ por ‘bar’ em toda a parte. O primeiro argumento pode ser uma expressão regular estendida e um argumento final pode ser ‘i’ para ignorar maiúsculas e minúsculas; por exemplo, ‘s/a(.)/\1x/i:’ alteraria ‘abABab’ para ‘bxBxbx’. Um delimitador de caractere diferente também pode ser usado para evitar colisões com barras literais no padrão. Por exemplo,
‘s|foo/|bar/|:’ substituirá ‘foo/’ por ‘bar/’ em toda a parte.

Múltiplos modificadores podem ser separados por um ponto e vírgula (;) como em ‘#{T;=10:status-left}’, o que limita a string resultante expandida por strftime(3) a no máximo 10 caracteres.

Além disso, a última linha da saída de um comando shell pode ser inserida usando ‘#()’. Por exemplo, ‘#(uptime)’ irá inserir o tempo de atividade do sistema. Ao construir formatos, o tmux não espera que os comandos ‘#()’ terminem; em vez disso, o resultado anterior da execução do mesmo comando é usado, ou um espaço reservado se o comando não tiver sido executado antes. Se o comando não tiver sido encerrado, a linha de saída mais recente será usada, mas a linha de status não será atualizada mais de uma vez por segundo. Os comandos são executados usando /bin/sh e com o ambiente global do tmux definido (veja a seção “AMBIENTE GLOBAL E DE SESSÃO”).

Um ‘l’ especifica que uma string deve ser interpretada literalmente e não expandida. Por exemplo, ‘#{l:#{?pane_in_mode,yes,no}}’ será substituído por ‘#{?pane_in_mode,yes,no}’.

As seguintes variáveis ​​estão disponíveis, quando apropriado:

Nome da variável      Alias    Substituído por

active_window_index             Índice da janela ativa na sessão
alternate_on                    1 se o painel estiver na tela alternada
alternate_saved_x               X do cursor salvo na tela alternada
alternate_saved_y               Y do cursor salvo na tela alternada
buffer_created                  Hora de criação do buffer
buffer_full                     Conteúdo completo do buffer
buffer_name                     Nome do buffer
buffer_sample                   Amostra do início do buffer
buffer_size                     Tamanho do buffer especificado em bytes
client_activity                 Última atividade do cliente
client_cell_height              Altura de cada célula do cliente em pixels
client_cell_width               Largura de cada célula do cliente em pixels
client_control_mode             1 se o cliente estiver no modo de controle
client_created                  Hora de criação do cliente
client_discarded                Bytes descartados quando o cliente está atrasado
client_flags                    Lista de flags do cliente
client_height                   Altura do cliente
client_key_table                Tabela de teclas atual
client_last_session             Última sessão do cliente
client_name                     Nome do cliente
client_pid                      PID do processo do cliente
client_prefix                   1 se a tecla de prefixo foi pressionada
client_readonly                 1 se o cliente é somente leitura
client_session                  Sessão do cliente
client_termfeatures             Recursos de terminal do cliente, se houver
client_termname                 Nome do terminal do cliente
client_termtype                 Tipo de terminal do cliente, se disponível
client_tty                      Pseudo terminal do cliente
client_uid                      UID do processo do cliente
client_user                     Usuário do processo do cliente
client_utf8                     1 se o cliente suporta UTF-8
client_width                    Largura do cliente
client_written                  Bytes gravados no cliente
command                         Nome do comando em uso, se houver
command_list_alias              Alias de comando se estiver listando comandos
command_list_name               Nome do comando se estiver listando comandos
command_list_usage              Uso do comando se estiver listando comandos
config_files                    Lista de arquivos de configuração carregados
cursor_blinking                 1 se o cursor está piscando
copy_cursor_hyperlink           Hiperlink sob o cursor no modo de cópia
copy_cursor_line                Linha em que o cursor está no modo de cópia
copy_cursor_word                Palavra sob o cursor no modo de cópia
copy_cursor_x                   Posição X do cursor no modo de cópia
copy_cursor_y                   Posição Y do cursor no modo de cópia
current_file                    Arquivo de configuração atual
cursor_character                Caractere no cursor no painel
cursor_colour                   Cor do cursor no painel
cursor_flag                     Flag de cursor do painel
cursor_shape                    Forma do cursor no painel
cursor_very_visible             1 se o cursor está em modo muito visível
cursor_x                        Posição X do cursor no painel
cursor_y                        Posição Y do cursor no painel
history_bytes                   Número de bytes no histórico da janela
history_limit                   Número máximo de linhas no histórico da janela
history_size                    Tamanho do histórico em linhas
hook                            Nome do hook em execução, se houver
hook_client                     Nome do cliente onde o hook foi executado, se houver
hook_pane                       ID do painel onde o hook foi executado, se houver
hook_session                    ID da sessão onde o hook foi executado, se houver
hook_window                     ID da janela onde o hook foi executado, se houver
server_sessions                 Número de sessões
session_active                  1 se a sessão estiver ativa
session_activity                Hora da última atividade da sessão
session_activity_flag           1 se alguma janela na sessão tiver atividade
session_alerts                  Lista de índices de janelas com alertas
session_attached                Número de clientes aos quais a sessão está anexada
session_attached_list           Lista de clientes aos quais a sessão está anexada
session_bell_flag               1 se alguma janela na sessão tiver alerta sonoro
session_created                 Hora de criação da sessão
session_format                  1 se o formato for para uma sessão
session_group                   Nome do grupo de sessão
session_group_attached          Número de clientes em sessões no grupo aos quais estão anexados
session_group_attached_list     Lista de clientes em sessões no grupo aos quais estão anexados
session_group_list              Lista de sessões no grupo
session_group_many_attached     1 se vários clientes anexados às sessões no grupo
session_group_size              Tamanho do grupo de sessão
session_grouped                 1 se a sessão estiver em um grupo
session_id                      ID exclusivo da sessão
session_index                   Índice da sessão
session_last_attached           Última vez que a sessão foi anexada
session_many_attached           1 se vários clientes anexados
session_marked                  1 se esta sessão contém o painel marcado
session_name           #S       Nome da sessão
session_path                    Diretório de trabalho da sessão
session_silence_flag            1 se alguma janela na sessão tiver alerta de silêncio
session_stack                   Índices de janela na pilha mais recente
session_windows                 Número de janelas na sessão
socket_path                     Caminho do socket do servidor
sixel_support                   1 se o servidor tiver suporte para SIXEL
start_time                      Hora de início do servidor
uid                             UID do servidor
user                            Usuário do servidor
version                         Versão do servidor
window_active                   1 se a janela estiver ativa
window_active_clients           Número de clientes visualizando esta janela
window_active_clients_list      Lista de clientes visualizando esta janela
window_active_sessions          Número de sessões em que esta janela está ativa
window_active_sessions_list     Lista de sessões em que esta janela está ativa
window_activity                 Hora da última atividade da janela
window_activity_flag            1 se a janela tiver atividade
window_bell_flag                1 se a janela tiver alerta sonoro
window_bigger                   1 se a janela for maior que o cliente
window_cell_height              Altura de cada célula em pixels
window_cell_width               Largura de cada célula em pixels
window_end_flag                 1 se a janela tiver o índice mais alto
window_flags           #F       Flags da janela com # escapado como ##
window_format                   1 se o formato for para uma janela
window_height                   Altura da janela
window_id                       ID exclusivo da janela
window_index           #I       Índice da janela
window_last_flag                1 se a janela for a última usada
window_layout                   Descrição do layout da janela, ignorando painéis de janela ampliados
window_linked                   1 se a janela estiver vinculada entre as sessões
window_linked_sessions          Número de sessões para as quais esta janela está vinculada
window_linked_sessions_list     Lista de sessões para as quais esta janela está vinculada
window_marked_flag              1 se a janela contiver o painel marcado
window_name            #W       Nome da janela
window_offset_x                 Deslocamento X na janela, se maior que o cliente
window_offset_y                 Deslocamento Y na janela, se maior que o cliente
window_panes                    Número de painéis na janela
window_raw_flags                Flags da janela sem nada escapado
window_silence_flag             1 se a janela tiver alerta de silêncio
window_stack_index              Índice na pilha mais recente da sessão
window_start_flag               1 se a janela tiver o índice mais baixo
window_visible_layout           Descrição do layout da janela, respeitando os painéis de janela ampliados
window_width                    Largura da janela
window_zoomed_flag              1 se a janela estiver ampliada
wrap_flag                       Flag de quebra de linha do painel

ESTILOS

O tmux oferece várias opções para especificar a cor e os atributos de diferentes aspectos da interface, por exemplo, `status-style` para a linha de status. Além disso, estilos incorporados podem ser especificados em opções de formato, como `status-left`, colocando-os entre ‘#[’ e ‘]’.

Um estilo pode ser o termo único ‘default’ para especificar o estilo padrão (que pode vir de uma opção, por exemplo, `status-style` na linha de status) ou uma lista separada por espaços ou vírgulas dos seguintes elementos:

fg=cor

Define a cor do primeiro plano. A cor é uma das seguintes: black, red, green, yellow, blue, magenta, cyan, white; se suportado, as variantes claras brightblack, brightred, ...; colour0 a colour255 do conjunto de 256 cores; default para a cor padrão; terminal para a cor padrão do terminal; ou uma string RGB hexadecimal, como ‘#ffffff’.


bg=cor

Define a cor de fundo.

us=cor

Define a cor do sublinhado.

none

Define nenhum atributo (desativa quaisquer atributos ativos).

acs, bright (ou bold), dim, underscore, blink, reverse, hidden, italics, overline, strikethrough,
double-underscore, curly-underscore, dotted-underscore, dashed-underscore

Define um atributo. Qualquer um dos atributos pode ser prefixado com ‘no’ para desativá-lo. acs é o conjunto de caracteres alternativo do terminal.

align=left (ou noalign), align=centre, align=right

Alinhe o texto à esquerda, centro ou direita do espaço disponível, se apropriado.

fill=cor

Preencha o espaço disponível com uma cor de fundo, se apropriado.

list=on, list=focus, list=left-marker, list=right-marker, nolist

Marque a posição dos vários componentes da lista da janela na opção status-format: list=on marca o início da lista; list=focus é a parte da lista que deve ser mantida em foco se toda a lista não couber no espaço disponível (geralmente a janela atual); list=left-marker e list=right-marker marcam o texto a ser usado para indicar que o texto foi truncado da esquerda ou direita da lista, caso não haja espaço suficiente.

noattr

Não copie atributos do estilo padrão.

push-default, pop-default

Armazene as cores e atributos atuais como padrão ou retorne ao padrão anterior. Um push-default afeta qualquer uso subsequente do term padrão até um pop-default. Apenas um padrão pode ser empilhado (cada push-default substitui o padrão salvo anterior).

range=left, range=right, range=session|X, range=window|X, range=pane|X, range=user|X, norange

Marque um intervalo para eventos de mouse na opção status-format. Quando um evento de mouse ocorre no intervalo range=left ou range=right, os comandos ‘StatusLeft’ e ‘StatusRight’ são disparados.

range=session|X, range=window|X e range=pane|X são intervalos para uma sessão, janela ou
painel. Esses comandos disparam o comando de mouse ‘Status’ com a sessão, janela ou painel de destino fornecidos
pelo argumento ‘X’. ‘X’ é um ID de sessão, índice de janela na sessão atual ou um ID de painel. Para esses, a variável de formato mouse_status_range será definida como ‘session’, ‘window’
ou ‘pane’.

range=user|X é um intervalo definido pelo usuário; ele dispara o comando de mouse ‘Status’. O argumento
‘X’ estará disponível na variável mouse_status_range. ‘X’ deve ter no máximo 15
bytes de comprimento.

set-default

Defina as cores e atributos atuais como padrão, substituindo qualquer padrão anterior. O padrão anterior não pode ser restaurado.

Exemplos são:

fg=yellow bold underscore blink
bg=black,fg=default,noreverse

NOMES E TÍTULOS

tmux distingue entre nomes e títulos. Janelas e sessões têm nomes, que podem ser
usados para especificá-los em destinos e são exibidos na linha de status e em várias listas: o nome é
o identificador tmux para uma janela ou sessão. Apenas os painéis têm títulos. O título de um painel é normalmente definido pelo programa em execução dentro do painel usando uma sequência de escape (como faria para definir o
título da janela xterm(1) em X(7)). As próprias janelas não têm títulos – o título de uma janela é o
título do painel ativo. O próprio tmux pode definir o título do terminal no qual o cliente está
em execução; veja a opção set-titles.

Um nome de sessão é definido com os comandos new-session e rename-session. Um nome de janela é definido com um dos seguintes:

Um argumento de comando (como -n para new-window ou new-session).

Uma sequência de escape (se a opção allow-rename estiver ativada):

$ printf '\033kWINDOW_NAME\033\\'

Renomeação automática, que define o nome para o comando ativo na janela e no painel ativo. Consulte a opção automatic-rename.

Quando um painel é criado pela primeira vez, seu título é o nome do host. O título de um painel pode ser definido por meio da sequência de escape title, por exemplo:

$ printf '\033]2;My Title\033\\'

Ele também pode ser modificado com o comando select-pane -T.

AMBIENTE GLOBAL E DE SESSÃO

Quando o servidor é iniciado, o tmux copia o ambiente para o ambiente global; além disso, cada sessão tem um ambiente de sessão. Quando uma janela é criada, os ambientes de sessão e global são mesclados. Se uma variável existir em ambos, o valor do ambiente de sessão é usado. O resultado é o ambiente inicial passado para o novo processo.

A opção de sessão update-environment pode ser usada para atualizar o ambiente de sessão a partir do cliente quando uma nova sessão é criada ou uma sessão antiga é reconectada. O tmux também inicializa a variável TMUX com algumas informações internas para permitir que comandos sejam executados de dentro, e a variável TERM com a configuração de terminal correta de screen.

As variáveis nos ambientes de sessão e global podem ser marcadas como ocultas. As variáveis ocultas não são passadas para o ambiente de novos processos e, em vez disso, só podem ser usadas pelo próprio tmux (por exemplo, em formatos, consulte a seção “FORMATOS”).

Os comandos para alterar e visualizar o ambiente são:

set-environment [-Fhgru] [-t target-session] variable [value]
(alias: setenv)

Define ou remove uma variável de ambiente. Se -g for usado, a alteração é feita no ambiente global; caso contrário, ela é aplicada ao ambiente de sessão para target-session. Se -F estiver presente, então value é expandido como um formato. A flag -u remove uma variável. -r indica que a variável deve ser removida do ambiente antes de iniciar um novo processo. -h marca a variável como oculta.

show-environment [-hgs] [-t target-session] [variable]
(alias: showenv)

Exibe o ambiente para target-session ou o ambiente global com -g. Se variable for omitido, todas as variáveis são mostradas. As variáveis removidas do ambiente são prefixadas com '-'. Se -s for usado, a saída é formatada como um conjunto de comandos do shell Bourne. -h mostra variáveis ocultas (omitidas por padrão).


LINHA DE STATUS

O tmux inclui uma linha de status opcional que é exibida na linha inferior de cada terminal.

Por padrão, a linha de status está habilitada e tem uma linha de altura (pode ser desabilitada ou ter várias linhas com a opção de sessão status) e contém, da esquerda para a direita: o nome da sessão atual entre colchetes; a lista de janelas; o título do painel ativo entre aspas duplas; e a hora e a data.

Cada linha da linha de status é configurada com a opção status-format. O padrão é composto por três partes: seções esquerda e direita configuráveis (que podem conter conteúdo dinâmico, como a hora ou a saída de um comando de shell, consulte as opções status-left, status-left-length, status-right e status-right-length abaixo) e uma lista de janelas central. Por padrão, a lista de janelas mostra o índice, o nome e (se houver) o sinalizador das janelas presentes na sessão atual em ordem numérica ascendente. Pode ser personalizada com as opções window-status-format e window-status-current-format. O sinalizador é um dos seguintes símbolos anexados ao nome da janela:

Símbolo Significado * Indica a janela atual. - Marca a última janela (anteriormente selecionada). # A atividade da janela é monitorada e a atividade foi detectada. ! Os alertas de janela são monitorados e um alerta ocorreu na janela. ~ A janela está silenciosa há o intervalo monitor-silence. M A janela contém o painel marcado. Z O painel ativo da janela está com zoom.

O símbolo # está relacionado à opção window monitor-activity. O nome da janela é impresso em cores invertidas se houver um alerta (campainha, atividade ou silêncio).

A cor e os atributos da linha de status podem ser configurados, toda a linha de status usando a opção de sessão status-style e janelas individuais usando a opção de janela window-status-style.

A linha de status é atualizada automaticamente em um intervalo se tiver sido alterada, o intervalo pode ser controlado com a opção de sessão status-interval.

Os comandos relacionados à linha de status são os seguintes:

clear-prompt-history [-T prompt-type]
(alias: clearphist)

Limpar o histórico de prompts de status para o tipo de prompt prompt-type. Se -T for omitido, então limpar o histórico para todos os tipos. Consulte command-prompt para obter valores possíveis para prompt-type.

command-prompt [-1bFiklN] [-I inputs] [-p prompts] [-t target-client] [-T prompt-type] [template]

Abrir o prompt de comando em um cliente. Isso pode ser usado dentro do tmux para executar comandos interativamente.

Se template for especificado, ele será usado como o comando. Com -F, template é expandido como um formato.

Se -I estiver presente, inputs é uma lista separada por vírgulas do texto inicial para cada prompt. Se -p for fornecido, prompts é uma lista separada por vírgulas de prompts que são exibidos em ordem; caso contrário, um único prompt é exibido, construído a partir do template se ele estiver presente, ou ‘:’ se não. -l desabilita a divisão de entradas e prompts em vírgulas e os trata literalmente.


Antes que o comando seja executado, a primeira ocorrência da string ‘%%’ e todas as ocorrências de ‘%1’ são substituídas pela resposta ao primeiro prompt, todas as ‘%2’ são substituídas pela resposta ao segundo prompt, e assim por diante para os próximos prompts. Até nove respostas de prompts podem ser substituídas (‘%1’ a ‘%9’). ‘%%%’ é como ‘%%’, mas quaisquer aspas são escapadas.

-1 faz com que o prompt aceite apenas uma tecla pressionada, neste caso a entrada resultante é um único caractere. -k é como -1, mas a tecla pressionada é traduzida para um nome de tecla. -N faz com que o prompt aceite apenas teclas numéricas. -i executa o comando sempre que a entrada do prompt muda, em vez de quando o usuário sai do prompt de comando.

-T diz ao tmux o tipo de prompt. Isso afeta quais as opções de preenchimento automático são oferecidas quando a tecla Tab é pressionada. Os tipos disponíveis são: ‘command’, ‘search’, ‘target’ e ‘window-target’.

As seguintes teclas têm um significado especial no prompt de comando, dependendo do valor da opção status-keys:

Função                             vi        emacs
Cancelar prompt de comando                q         Escape
Deletar do cursor até o início da palavra            C-w
Deletar todo o comando                d         C-u
Deletar do cursor até o final            D         C-k
Executar comando                      Enter     Enter
Obter o próximo comando do histórico                  Down
Obter o comando anterior do histórico              Up
Inserir o buffer de colagem superior              p         C-y
Procurar preenchimentos automáticos                 Tab       Tab
Mover o cursor para a esquerda                     h         Left
Mover o cursor para a direita                    l         Right
Mover o cursor para o final                   $         C-e
Mover o cursor para a próxima palavra             w         M-f
Mover o cursor para a palavra anterior         b         M-b
Mover o cursor para o início                 0         C-a
Transpor caracteres                           C-t

Com -b, o prompt é exibido em segundo plano e o cliente que o invocou não sai até que seja descartado.

confirm-before [-by] [-c confirm-key] [-p prompt] [-t target-client] command

(alias: confirm) Solicita confirmação antes de executar o comando. Se -p for fornecido, o prompt é o prompt a ser exibido; caso contrário, um prompt é construído a partir do comando. Ele pode conter as sequências de caracteres especiais suportadas pela opção status-left. Com -b, o prompt é exibido em segundo plano e o cliente que o invocou não sai até que seja descartado. -y altera o comportamento padrão (se apenas a tecla Enter for pressionada) do prompt para executar o comando. -c altera a tecla de confirmação para confirm-key; o padrão é ‘y’.

display-menu [-OM] [-b border-lines] [-c target-client] [-C starting-choice] [-H selected-style]
[-s style] [-S border-style] [-t target-pane] [-T title] [-x position] [-y position] name
key command [name key command ...]

(alias: menu) Exibe um menu em target-client. target-pane fornece o destino para quaisquer comandos executados a partir do menu.


Um menu é passado como uma série de argumentos: primeiro o nome do item do menu, segundo o atalho de tecla (ou vazio, se não houver) e terceiro o comando a ser executado quando o item do menu for escolhido. O nome e o comando são formatos, veja as seções “FORMATOS” e “ESTILOS”. Se o nome começar com um hífen (-), o item será desativado (mostrado em tom mais escuro) e não poderá ser escolhido. O nome pode estar vazio para uma linha separadora, caso em que tanto o atalho de tecla quanto o comando devem ser omitidos.

-b define o tipo de caracteres usados para desenhar as bordas do menu. Veja popup-border-lines para os possíveis valores para border-lines.

-H define o estilo para o item de menu selecionado (veja “ESTILOS”).

-s define o estilo para o menu e -S define o estilo para a borda do menu (veja “ESTILOS”).

-T é um formato para o título do menu (veja “FORMATOS”).

-C define o item de menu selecionado por padrão, se o menu não estiver vinculado a uma combinação de teclas do mouse.

-x e -y definem a posição do menu. Ambos podem ser um número de linha ou coluna, ou um dos seguintes valores especiais:

Valor Flag Significado C Ambos O centro do terminal R -x O lado direito do terminal P Ambos O canto inferior esquerdo do painel M Ambos A posição do mouse W Ambos A posição da janela na linha de status S -y A linha acima ou abaixo da linha de status

Ou um formato, que é expandido incluindo as seguintes variáveis adicionais:

Nome da variável Substituído por

popup_centre_x                Centrado no cliente
popup_centre_y                Centrado no cliente
popup_height                  Altura do menu ou popup
popup_mouse_bottom            Na parte inferior, na posição do mouse
popup_mouse_centre_x          Horizontalmente centrado na posição do mouse
popup_mouse_centre_y          Verticalmente centrado na posição do mouse
popup_mouse_top               Na parte superior, na posição do mouse
popup_mouse_x                 Posição X do mouse
popup_mouse_y                 Posição Y do mouse
popup_pane_bottom             Parte inferior do painel
popup_pane_left               Lado esquerdo do painel
popup_pane_right              Lado direito do painel
popup_pane_top                Parte superior do painel
popup_status_line_y           Acima ou abaixo da linha de status
popup_width                   Largura do menu ou popup
popup_window_status_line_x    Na posição da janela na linha de status
popup_window_status_line_y    Na linha de status que mostra a janela

Cada menu consiste em itens seguidos por um atalho de tecla mostrado entre colchetes. Se o menu for muito grande para caber no terminal, ele não será exibido. Pressionar o atalho de tecla escolhe o item correspondente. Se o mouse estiver habilitado e o menu for aberto a partir de uma combinação de teclas do mouse, soltar o botão do mouse com um item selecionado escolhe esse item e soltar o botão do mouse sem um item selecionado fecha o menu. -O altera este comportamento para que o menu não seja fechado quando o botão do mouse for solto sem um item selecionado; o menu não é fechado e um botão do mouse deve ser clicado para escolher um item.


-M informa ao tmux que o menu deve tratar eventos do mouse; por padrão, apenas os menus abertos por meio de associações de teclas do mouse o fazem.

As seguintes teclas estão disponíveis nos menus:

Tecla Função Enter Selecionar item Para cima Selecionar item anterior Para baixo Selecionar próximo item q Sair do menu

display-message [-aCIlNpv] [-c target-client] [-d delay] [-t target-pane] [message]
(alias: display)

Exibe uma mensagem. Se -p for fornecido, a saída será impressa em stdout; caso contrário, será exibida na linha de status do target-client por até delay milissegundos. Se delay não for fornecido, a opção display-time será usada; um atraso de zero aguarda uma pressão de tecla. ‘N’ ignora as pressões de tecla e fecha somente após o término do atraso. Se -C for fornecido, o painel continuará a ser atualizado enquanto a mensagem é exibida. Se -l for fornecido, a mensagem é impressa sem alterações. Caso contrário, o formato da mensagem é descrito na seção “FORMATOS”; as informações são obtidas do target-pane se -t for fornecido; caso contrário, do painel ativo.

-v imprime o registro detalhado à medida que o formato é analisado e -a lista as variáveis de formato e seus valores.

-I encaminha qualquer entrada lida de stdin para o painel vazio dado por target-pane.

display-popup [-BCEkN] [-b border-lines] [-c target-client] [-d start-directory] [-e environment]
[-h height] [-s style] [-S border-style] [-t target-pane] [-T title] [-w width] [-x
position] [-y position] [shell-command [argument ...]]
(alias: popup)

Exibe um popup executando o shell-command (ou default-command quando omitido) no target-client. Um popup é uma caixa retangular desenhada sobre os painéis. Os painéis não são atualizados enquanto um popup está presente. Se o comando for executado dentro de um popup existente, esse popup será modificado. Apenas as opções -b, -B, -C, -E, -EE, -K, -N, -s e -S são aceitas neste caso; todas as outras são ignoradas.

-E fecha o popup automaticamente quando o shell-command é encerrado. Dois -E fecham o popup somente se o shell-command for encerrado com sucesso. -k permite que qualquer tecla descarte o popup, em vez de apenas ‘Escape’ ou ‘C-c’.

-x e -y fornecem a posição do popup; eles têm o mesmo significado que para o comando display-menu. -w e -h fornecem a largura e a altura - ambos podem ser uma porcentagem (seguidos por ‘%’). Se omitidos, metade do tamanho do terminal é usado.

-B não envolve o popup com uma borda.

-b define o tipo de caracteres usados para desenhar as bordas do popup. Quando -B é especificado, a opção -b é ignorada. Consulte popup-border-lines para obter valores possíveis para border-lines.

-s define o estilo para o popup e -S define o estilo para a borda do popup (consulte “ESTILOS”).

-e assume a forma ‘VARIÁVEL=valor’ e define uma variável de ambiente para a janela pop-up; pode ser especificado várias vezes.

-T é um formato para o título da janela pop-up (veja “FORMATOS”).

A flag -C fecha qualquer janela pop-up no cliente.

-N desativa qualquer opção -E, -EE ou -k especificada anteriormente.

show-prompt-history [-T prompt-type]
(alias: showphist)
Exibe o histórico de prompts para o tipo de prompt prompt-type. Se -T for omitido, exibe o
histórico para todos os tipos. Veja o comando command-prompt para possíveis valores para prompt-type.

BUFFERS

O tmux mantém um conjunto de buffers nomeados. Cada buffer pode ser explicitamente ou automaticamente nomeado. Os buffers nomeados explicitamente são nomeados quando criados com os comandos set-buffer ou load-buffer, ou renomeando um buffer nomeado automaticamente com set-buffer -n. Os buffers nomeados automaticamente recebem um nome como ‘buffer0001’, ‘buffer0002’ e assim por diante. Quando o limite de buffer (buffer-limit) é atingido, o buffer nomeado automaticamente mais antigo é excluído. Os buffers nomeados explicitamente
não estão sujeitos ao buffer-limit e podem ser excluídos com o comando delete-buffer.

Os buffers podem ser adicionados usando o modo de cópia ou os comandos set-buffer e load-buffer, e colados em uma janela usando o comando paste-buffer. Se um comando de buffer for usado e nenhum buffer for especificado, o buffer nomeado automaticamente mais recente é assumido.

Um buffer de histórico configurável também é mantido para cada janela. Por padrão, até 2000 linhas
são mantidas; isso pode ser alterado com a opção history-limit (veja o comando set-option acima).

Os comandos de buffer são os seguintes:

choose-buffer [-NryZ] [-F format] [-f filter] [-K key-format] [-O sort-order] [-t target-pane]
[template]
Coloca um painel no modo de buffer, onde um buffer pode ser escolhido interativamente de uma lista.
Cada buffer é mostrado em uma linha. Uma tecla de atalho é mostrada à esquerda em colchetes, permitindo a escolha imediata, ou a lista pode ser navegada e um item escolhido ou
manipulado usando as teclas abaixo. -Z amplia o painel. -y desativa quaisquer prompts de confirmação. As seguintes teclas podem ser usadas no modo de buffer:

Key    Function
Enter  Colar buffer selecionado
Up     Selecionar buffer anterior
Down   Selecionar próximo buffer
C-s    Pesquisar por nome ou conteúdo
n      Repetir a última pesquisa para frente
N      Repetir a última pesquisa para trás
t      Alternar se o buffer está marcado
T      Desmarcar todos os buffers
C-t    Marcar todos os buffers
p      Colar buffer selecionado
P      Colar buffers marcados
d      Excluir buffer selecionado
D      Excluir buffers marcados
e      Abrir o buffer em um editor
f      Inserir um formato para filtrar os itens
O      Alterar o campo de ordenação
r      Inverter a ordem de classificação
v      Alternar a visualização prévia
q      Sair do modo

Após a escolha de um buffer, ‘%%’ é substituído pelo nome do buffer no template e o resultado é executado como um comando. Se o template não for fornecido, "paste-buffer -p -b '%%'" é usado.

-O especifica o campo de ordenação inicial: um de ‘time’ (criação), ‘name’ ou ‘size’. -r inverte a ordem de classificação. -f especifica um filtro inicial: o filtro é um formato - se
ele avaliar para zero, o item na lista não é mostrado, caso contrário, é mostrado. Se um filtro
levar a uma lista vazia, ele é ignorado. -F especifica o formato para cada item na
lista e -K um formato para cada tecla de atalho; ambos são avaliados uma vez para cada linha. -N
inicia sem a visualização prévia. Este comando só funciona se pelo menos um cliente estiver conectado.

clear-history [-H] [-t target-pane]
(alias: clearhist)

Remove e libera o histórico para o painel especificado. A opção -H também remove todos os hiperlinks.

delete-buffer [-b buffer-name]
(alias: deleteb)

Exclui o buffer com o nome buffer-name ou o buffer nomeado automaticamente adicionado mais recentemente, se não for especificado.

list-buffers [-F format] [-f filter]
(alias: lsb)

Lista os buffers globais. A opção -F especifica o formato de cada linha e -f um filtro. Apenas os buffers para os quais o filtro for verdadeiro são exibidos. Consulte a seção “FORMATOS”.

load-buffer [-w] [-b buffer-name] [-t target-client] path
(alias: loadb)

Carrega o conteúdo do buffer especificado do caminho. Se -w for fornecido, o buffer também será enviado para a área de transferência para target-client usando a sequência de escape xterm(1), se possível. Se path for ‘-’, o conteúdo será lido de stdin.

paste-buffer [-dpr] [-b buffer-name] [-s separator] [-t target-pane]
(alias: pasteb)

Insere o conteúdo de um buffer na tela no painel especificado. Se não for especificado, cola no painel atual. Com -d, também exclui o buffer. Ao exibir, quaisquer caracteres de nova linha (LF) no buffer são substituídos por um separador, que por padrão é retorno de carro (CR). Um separador personalizado pode ser especificado usando a opção -s. A opção -r significa não fazer substituição (equivalente a um separador de LF). Se -p for especificado, códigos de controle de colchete são inseridos em torno do buffer, se o aplicativo tiver solicitado o modo de colagem com colchetes.

save-buffer [-a] [-b buffer-name] path
(alias: saveb)

Salva o conteúdo do buffer especificado no caminho. A opção -a anexa em vez de sobrescrever o arquivo. Se path for ‘-’, o conteúdo será gravado em stdout.

set-buffer [-aw] [-b buffer-name] [-t target-client] [-n new-buffer-name] data
(alias: setb)

Define o conteúdo do buffer especificado para data. Se -w for fornecido, o buffer também será enviado para a área de transferência para target-client usando a sequência de escape xterm(1), se possível. A opção -a anexa em vez de sobrescrever o buffer. A opção -n renomeia o buffer para new-buffer-name.

show-buffer [-b buffer-name]
(alias: showb)

Exibe o conteúdo do buffer especificado.

MISCELÂNEOS

Os comandos diversos são os seguintes:

clock-mode [-t target-pane]

Exibe um relógio grande.

if-shell [-bF] [-t target-pane] shell-command command [command]
(alias: if)

Executa o primeiro comando se shell-command (executado com /bin/sh) retornar sucesso ou o segundo comando caso contrário. Antes de ser executado, shell-command é expandido usando as regras especificadas na seção “FORMATOS”, incluindo aquelas relevantes para target-pane. Com -b, shell-command é executado em segundo plano.


Se -F for fornecido, o comando shell não é executado, mas é considerado um sucesso se não estiver vazio nem for zero (após a expansão dos formatos).

lock-server
(alias: lock)

Bloqueia cada cliente individualmente executando o comando especificado pela opção lock-command.

run-shell [-bCE] [-c start-directory] [-d delay] [-t target-pane] [shell-command]
(alias: run)

Executa shell-command usando /bin/sh ou (com -C) um comando tmux em segundo plano sem criar uma janela. Antes de ser executado, shell-command é expandido usando as regras especificadas na seção “FORMATS”. Com -b, o comando é executado em segundo plano. -d aguarda delay segundos antes de iniciar o comando. -E redireciona o stderr do comando para stdout em vez de ignorá-lo. Se -c for fornecido, o diretório de trabalho atual é definido como start-directory. Se -C não for fornecido, qualquer saída para stdout é exibida no modo de visualização (no painel especificado por -t ou no painel atual, se omitido) após a conclusão do comando. Se o comando falhar, o status de saída também é exibido.

wait-for [-L | -S | -U] channel
(alias: wait)

Quando usado sem opções, impede que o cliente saia até ser acordado usando wait-for -S com o mesmo canal. Quando -L é usado, o canal é bloqueado e quaisquer clientes que tentem bloquear o mesmo canal são forçados a esperar até que o canal seja desbloqueado com wait-for -U.

MENSAGENS DE SAÍDA

Quando um cliente tmux se desconecta, ele imprime uma mensagem. Esta pode ser uma das seguintes:

detached (from session ...)

O cliente foi desconectado normalmente.

detached and SIGHUP

O cliente foi desconectado e seu processo pai enviou o sinal SIGHUP (por exemplo, com detach-client -P).

lost tty

O tty(4) ou pty(4) do cliente foi destruído inesperadamente.

terminated

O cliente foi encerrado com SIGTERM.

too far behind

O cliente está no modo de controle e não conseguiu acompanhar os dados do tmux.

exited

O servidor foi encerrado quando não havia sessões.

server exited

O servidor foi encerrado quando recebeu SIGTERM.

server exited unexpectedly

O servidor travou ou foi encerrado de outra forma sem informar o cliente o motivo.

EXTENSÕES TERMINFO

tmux entende algumas extensões não oficiais para terminfo(5). Normalmente, não é necessário definir isso manualmente; em vez disso, a opção terminal-features deve ser usada.

AX

Uma extensão existente que informa ao tmux que o terminal suporta cores padrão.

Bidi

Informa ao tmux que o terminal suporta as extensões de texto bidirecional VTE.

Cs, Cr

Define a cor do cursor. O primeiro recebe um único argumento de string e é usado para definir a cor; o segundo não recebe argumentos e restaura a cor padrão do cursor. Se definido, uma sequência como esta pode ser usada para alterar a cor do cursor dentro do tmux:


$ printf '\033]12;red\033\\'

A cor é uma cor X(7), consulte XParseColor(3).

Cmg, Clmg, Dsmg, Enmg

Define, limpa, desabilita ou habilita as margens DECSLRM. Isso é definido automaticamente se o terminal relatar que é compatível com VT420.

Dsbp, Enbp

Desabilita e habilita a colagem entre parênteses. Isso é definido automaticamente se a capacidade XT estiver presente.

Dseks, Eneks

Desabilita e habilita as teclas estendidas.

Dsfcs, Enfcs

Desabilita e habilita o relatório de foco. Isso é definido automaticamente se a capacidade XT estiver presente.

Hls

Define ou limpa uma anotação de hiperlink.

Nobr

Informa ao tmux que o terminal não usa cores brilhantes para exibição em negrito.

Rect

Informa ao tmux que o terminal suporta operações de retângulo.

Smol

Habilita o atributo de sublinhado.

Smulx

Define um sublinhado estilizado. O único parâmetro é um de: 0 para sem sublinhado, 1 para sublinhado normal, 2 para sublinhado duplo, 3 para sublinhado em espiral, 4 para sublinhado pontilhado e 5 para sublinhado tracejado.

Setulc, Setulc1, ol

Define a cor do sublinhado ou redefine para o padrão. Setulc é para cores RGB e Setulc1 para cores ANSI ou 256. O argumento Setulc é (vermelho * 65536) + (verde * 256) + azul, onde cada um está entre 0 e 255.

Ss, Se

Define ou redefine o estilo do cursor. Se definido, uma sequência como esta pode ser usada para alterar o cursor para um sublinhado:

$ printf '\033[4 q'

Se Se não estiver definido, Ss com o argumento 0 será usado para redefinir o estilo do cursor.

Swd

Define a sequência de abertura para a notificação do diretório de trabalho. A sequência é terminada usando a capacidade fsl padrão.

Sxl

Indica que o terminal suporta SIXEL.

Sync

Inicia (o parâmetro é 1) ou termina (o parâmetro é 2) uma atualização sincronizada.

Tc

Indica que o terminal suporta a sequência de escape RGB de "cor direta" (por exemplo, \e[38;2;255;255;255m).

Se suportado, isso é usado para a sequência de escape de inicialização de cor (que pode ser habilitada adicionando as capacidades 'initc' e 'ccc' à entrada terminfo(5) do tmux).

Isso é equivalente à capacidade RGB terminfo(5).

Ms

Armazena o buffer atual no buffer de seleção (clipboard) do terminal host. Consulte a opção set-clipboard acima e a página de manual xterm(1).

XT

Esta é uma capacidade de extensão existente que o tmux usa para significar que o terminal suporta as sequências de definição de título xterm(1) e para definir automaticamente algumas das capacidades acima.

MODO DE CONTROLE

O tmux oferece uma interface textual chamada modo de controle. Isso permite que os aplicativos se comuniquem com o tmux usando um protocolo textual simples.

No modo de controle, um cliente envia comandos tmux ou sequências de comandos terminados por novas linhas na entrada padrão. Cada comando produzirá um bloco de saída na saída padrão. Um bloco de saída consiste em uma linha %begin seguida pela saída (que pode estar vazia). O bloco de saída termina com um %end ou %error. %begin e o %end ou %error correspondente têm três argumentos: um tempo inteiro (em segundos desde a época), número do comando e sinalizadores (atualmente não utilizados). Por exemplo:

O comando refresh-client -C pode ser usado para definir o tamanho de um cliente no modo de controle.

No modo de controle, o tmux gera notificações. Uma notificação nunca ocorrerá dentro de um bloco de saída.

As seguintes notificações são definidas:

%client-detached client

O cliente foi desconectado.

%client-session-changed client session-id name

O cliente agora está conectado à sessão com ID session-id, que tem o nome name.

%config-error error

Ocorreu um erro em um arquivo de configuração.

%continue pane-id

O painel foi retomado após ter sido pausado (se a flag pause-after estiver definida, consulte refresh-client -A).

%exit [reason]

O cliente tmux está saindo imediatamente, seja porque não está conectado a nenhuma sessão ou porque ocorreu um erro. Se presente, reason descreve o motivo pelo qual o cliente saiu.

%extended-output pane-id age ... : value

Nova forma de %output enviada quando a flag pause-after está definida. age é o tempo em milissegundos que o tmux armazenou em buffer antes de enviar a saída. Quaisquer argumentos subsequentes até um único : são para uso futuro e devem ser ignorados.

%layout-change window-id window-layout window-visible-layout window-flags

O layout de uma janela com ID window-id foi alterado. O novo layout é window-layout. O layout visível da janela é window-visible-layout e as flags da janela são window-flags.

%message message

Uma mensagem enviada com o comando display-message.

%output pane-id value

Um painel de janela produziu saída. value escapa caracteres não imprimíveis e a barra invertida como \xxx octal.

%pane-mode-changed pane-id

O painel com ID pane-id mudou de modo.

%paste-buffer-changed name

O nome do buffer de colagem foi alterado.

%paste-buffer-deleted name

O nome do buffer de colagem foi excluído.

%pause pane-id

O painel foi pausado (se a flag pause-after estiver definida).

%session-changed session-id name

O cliente agora está conectado à sessão com ID session-id, que tem o nome name.

%session-renamed name

A sessão atual foi renomeada para name.

%session-window-changed session-id window-id

A sessão com ID session-id alterou sua janela ativa para a janela com ID window-id.

%sessions-changed

Uma sessão foi criada ou destruída.

%subscription-changed name session-id window-id window-index pane-id ... : value

O valor do formato associado à assinatura name mudou para value. Consulte refresh-client -B. Quaisquer argumentos após pane-id até um único : são para uso futuro e devem ser ignorados.

%unlinked-window-add window-id

A janela com ID window-id foi criada, mas não está vinculada à sessão atual.

%unlinked-window-close window-id

A janela com ID window-id, que não está vinculada à sessão atual, foi fechada.


%unlinked-window-renamed window-id

A janela com ID window-id, que não está vinculada à sessão atual, foi renomeada.

%window-add window-id

A janela com ID window-id foi vinculada à sessão atual.

%window-close window-id

A janela com ID window-id foi fechada.

%window-pane-changed window-id pane-id

O painel ativo na janela com ID window-id foi alterado para o painel com ID pane-id.

%window-renamed window-id name

A janela com ID window-id foi renomeada para name.

AMBIENTE

Quando o tmux é iniciado, ele inspeciona as seguintes variáveis de ambiente:

EDITOR    Se o comando especificado nesta variável contém a string ‘vi’ e VISUAL não está definido,
use os atalhos de teclado no estilo vi.  Substituído pelas opções mode-keys e status-keys.

HOME O diretório de login do usuário. Se não estiver definido, o banco de dados passwd(5) é consultado.

LC_CTYPE  O locale de codificação de caracteres(1).  Ele é usado para dois propósitos distintos.  Para saída no terminal, UTF-8 é usado se a opção -u for fornecida ou se LC_CTYPE contiver "UTF-8"
ou "UTF8".  Caso contrário, apenas caracteres ASCII são gravados e caracteres não ASCII são
substituídos por sublinhados ('_').  Para entrada, o tmux sempre é executado com um locale UTF-8.  Se
en_US.UTF-8 for fornecido pelo sistema operacional, ele é usado e LC_CTYPE é ignorado para
entrada.  Caso contrário, LC_CTYPE diz ao tmux qual é o nome do locale UTF-8 no sistema
atual.  Se o locale especificado por LC_CTYPE não estiver disponível ou não for um locale UTF-8,
o tmux sai com uma mensagem de erro.

LC_TIME   O locale de data e hora(1).  Ele é usado para especificadores de formato strftime(3) dependentes do locale.

PWD       O diretório de trabalho atual a ser definido no ambiente global.  Isso pode ser útil
se contiver links simbólicos.  Se o valor da variável não corresponder ao diretório de trabalho atual,
a variável é ignorada e o resultado de getcwd(3) é usado em vez disso.

SHELL     O caminho absoluto para o shell padrão para novas janelas.  Veja a opção default-shell
para detalhes.

TMUX_TMPDIR

O diretório pai do diretório que contém os sockets do servidor. Veja a opção -L para detalhes.

VISUAL    Se o comando especificado nesta variável contiver a string ‘vi’, use os atalhos de teclado no estilo vi.  Substituído pelas opções mode-keys e status-keys.

ARQUIVOS

~/.tmux.conf
$XDG_CONFIG_HOME/tmux/tmux.conf
~/.config/tmux/tmux.conf

Arquivo de configuração padrão do tmux. /etc/tmux.conf Arquivo de configuração em todo o sistema.

EXEMPLOS

Para criar uma nova sessão tmux executando vi(1):

$ tmux new-session vi

A maioria dos comandos tem uma forma mais curta, conhecida como alias. Para new-session, este é new:

$ tmux new vi

Alternativamente, a forma mais curta e inequívoca de um comando é aceita. Se houver várias opções, elas são listadas:

$ tmux n
comando ambíguo: n, pode ser: new-session, new-window, next-window

Dentro de uma sessão ativa, uma nova janela pode ser criada digitando ‘C-b c’ (Ctrl seguido pela tecla ‘b’ seguido pela tecla ‘c’).

O Windows pode ser navegado com: ‘C-b 0’ (para selecionar a janela 0), ‘C-b 1’ (para selecionar a janela 1) e assim por diante; ‘C-b n’ para selecionar a próxima janela; e ‘C-b p’ para selecionar a janela anterior.

Uma sessão pode ser desconectada usando ‘C-b d’ (ou por um evento externo, como a desconexão do ssh(1)) e reconectada com:

$ tmux attach-session

Digitar ‘C-b ?’ lista os atalhos de teclado atuais na janela atual; as setas para cima e para baixo podem ser usadas para navegar na lista ou ‘q’ para sair dela.

Comandos a serem executados quando o servidor tmux é iniciado podem ser colocados no arquivo de configuração \~/.tmux.conf. Exemplos comuns incluem:

Alterar a tecla de prefixo padrão:

    set-option -g prefix C-a
    unbind-key C-b
    bind-key C-a send-prefix

Desativar a barra de status ou alterar sua cor:

    set-option -g status off
    set-option -g status-style bg=blue

Definir outras opções, como o comando padrão ou bloquear após 30 minutos de inatividade:

    set-option -g default-command "exec /bin/ksh"
    set-option -g lock-after-time 1800

Criar novos atalhos de teclado:

    bind-key b set-option status
    bind-key / command-prompt "split-window 'exec man %%'"
    bind-key S command-prompt "new-window -n %1 'ssh %1'"

VEJA TAMBÉM

pty(4)

AUTORES

Nicholas Marriott <_>