Deixando o seu terminal mais produtivo com o Tmux
O Tmux é um multiplexador de terminal. Isso significa que você pode iniciar uma sessão do Tmux e abrir várias janelas dentro dessa sessão. Cada janela ocupa a tela inteira e pode ser dividida em painéis retangulares.
Com o Tmux podemos alternar facilmente entre vários programas em um terminal, desconectá-los e conectá-los novamente a um terminal diferente.
Os programas em execução no Tmux continuarão sendo executados mesmo se formos desconectado, pois as sessões do Tmux são persistentes.
Todos os comandos no Tmux começam com um prefixo, que por padrão é ctrl + b.
Instalando o Tmux:
Podemos instalar o Tmux de duas formas: Pelo gerenciador de pacotes do sistema operacional ou através do repositório oficial.
Instalando o Tmux pelo repositório oficial:
Primeiro verifique qual a versão mais recente no repositório oficial e então mude a versão nos comandos que seguem ( no meu caso a versão mais recente era a 3.1b):
# fazendo o download
$ wget https://github.com/tmux/tmux/releases/download/3.1b/tmux-3.1b.tar.gz
# descompactando
$ tar -zxvf tmux-3.1b.tar.gz
# acessando a pasta
$ cd tmux-3.1b/
# configurando
$ ./configure && make
# Instalando
$ sudo make install
Ao executar o comando "./configure && make" em máquina com ubuntu tive os seguintes erros que talvez você possa ter:
- configure: error: no acceptable C compiler found in $PATH
- lconfigure: error: "ibevent-dev"
- configure: error: "ncurses-dev"
para cada um uma solução:
$ apt-get install build-essential
$ apt-get install libevent-dev
$ apt-get install ncurses-dev
Instalando o Tmux pelo gerenciador de pacotes:
Ubuntu e Debian
$ sudo apt install tmux
CentOS e Fedora
$ sudo yum install tmux
macOS
$ brew install tmux
Sessão:
Agora com o com a instalação concluída basta executar o comando tmux no terminal, se tudo deu certo irá ver uma barra verde na parte inferior do terminal.
Ao executar o tmux é criado uma sessão e os programas executando nesta sessão continuarão executando mesmo que a janela do terminal seja fechada.

Nessa barra verde temos algumas informações:
No canto direito, da direita pra esquerda temos a data atual, a hora, e o nome do computador atual.
Já no canto esquerdo entre colchetes temos a sessão atual, depois temos a janela (no caso 0) e o nome do software que está rodando ( no caso o bash). O '*' indica qual a janela que está ativa no momento.
O tmux tem um atalho "base" para execução dos comandos que é o ctrl b, nós chamaremos esse atalho de prefixo, logo sempre que citar a tecla prefixo estaremos falando sobre esta combinação.
Para listar as sessões use o comando:
$ tmux ls
| 0: 1 windows (created Tue May 26 13:11:04 2020) (attached)
O 0 é o nome da sessão, 1 windows significa que tem um janela aberta na sessão.
Com a sessão iniciada podemos usar alguns atalhos para executar comandos no Tmx. Para obter uma lista de todos os comandos do Tmux, digite:
ctrl+b ?
Criando sessões nomeadas do Tmux
Por padrão as sessões no tmux são nomeadas numericamente. Em alguns momentos pode ser útil criar uma sessão nomeada. Podemos fazer isso com o comando:
$ tmux new -s session_name
Desconectando de uma sessão
Você pode se desconectar da sessão do Tmux e retornar ao seu shell normal digitando:
$ Ctrl+b d
Se rodarmos algum programa antes de desconectar, ele continuará sendo executado mesmo depois de desconectarmos.
Reconectando a uma sessão do Tmux:
Primeiro precisamos do nome da sessão, podemos obter isso com o comando "tmux ls". Com o nome da sessão basta executar o comando (substituindo sessao_nome):
$ tmux attach-session -t sessao_nome
Janelas
Com o tmux podemos criar janelas de dentro de uma mesma sessão. Para criar uma nova janela usamos:
$ Ctrl+b c

Podemos observar que na barra verde aparecerá duas janelas e uma delas estará marcada com o ‘*’ que indica a janela atual.
Para mudar para a janela anterior podemos mudar o comando:
Ctrl+b p
para mudarmos para o próxima janela:
Crtl+b n
e para mudar para um janela específica basta apenas usar o prefixo e o número da janela:
Ctrl+b 0
Podemos renomear uma janela de acorde com algum critério próprio, para isso usamos prefixo + , :
Ctrl+b ,


se quisermos fechar uma janela podemos podemos usar prefixo + &:
Crtl+b &
Painéis
Podemos ainda dividir as janelas.
O Tmux permite dividir verticalmente com o com prefixo + %:
Ctrl+b %
E horizontalmente com prefixo + “:
Ctrl+b “
Para navegar entre os painéis usamos prefixo e setas.
Podemos converter um painel em janela com prefixo + !:
Ctrl+b !
Para matar um painel usamos prefixo + x:
Crtl+b x
Podemos ainda dar zoom em um painel com prefixo + z, e depois com o mesmo comando voltar a visão compartilhada:
Crtl+b z

Customizando o Tmux
Quando o Tmux é iniciado, ele lê seus parâmetros de configuração em ~/.tmux.conf
, se o arquivo estiver presente.
Não vamos detalhar essa configuração, você pode obter mais detalhes na wiki do projeto. Mas podemos por exemplo alterar a cor da barra com adicionando a seguinte configuração no arquivo:
# Customize the status line
set -g status-fg green
set -g status-bg black

Conclusão
Esse artigo foi um introdução rápida, tem muito mais na wiki do projeto e no manual do usuário, fique a vontade para conferir, mas você já pode começar a usar como o que vimos.
Experimente e depois comente aqui se sentiu alguma vantagem em utilizá-lo.