5 dos Melhores Plugins de Produtividade para Tmux

Uma imagem de uma pessoa trabalhando em frente a um computador.

Tmux é um ótimo multiplexador de terminal que pode consolidar e gerenciar diferentes sessões de console. Embora suas funcionalidades principais cubram a maioria dos casos de uso, ele também possui uma estrutura de plugins que permite moldar o programa de acordo com suas necessidades. Neste artigo, vou abordar alguns dos melhores plugins para Tmux que podem ajudar a otimizar seu fluxo de trabalho no terminal.

1. tmux-menus

Se você é novo no Tmux, aprender cada atalho pode ser complicado e assustador. Com seus atalhos em corda não intuitivos, é fácil esquecer os atalhos para recursos menos conhecidos do Tmux, como o modo de cópia e a marcação de painéis.

Um terminal mostrando uma configuração de Tmux com múltiplos painéis, com um painel marcado e um painel em modo de cópia.

Tmux-menus é um plugin simples que aborda esse problema. Ele fornece um menu baseado em TUI limpo e intuitivo que você pode acessar pressionando Ctrl + \ (Barra Inversa). Dentro, ele vem com todas as funções do Tmux, permitindo que você selecione visualmente o que precisa em vez de memorizar seus atalhos de teclado.

Um terminal mostrando o plugin tmux-menus em funcionamento.

Além de tornar o Tmux acessível, uma qualidade que eu gosto no Tmux-menus é a configurabilidade. Cada item de menu dentro do plugin é apenas um link para um script de shell. Isso significa que, com um pouco de conhecimento em Bash, você pode facilmente incluir funções personalizadas ao Tmux-menus.

Um terminal mostrando o menu de configuração

2. tmux-resurrect

Um dos maiores pontos problemáticos do Tmux é que ele é um programa sem estado. Isso significa que ele não lembrará nada sobre a sessão quando você a fechar. Pessoalmente, acho isso frustrante, pois me força a refazer meu layout do Tmux sempre que reinicio meu computador.

Um terminal mostrando uma sessão Tmux desconectada abruptamente.

Tmux-resurrect é uma ferramenta que pode ajudar a resolver esse problema. É um plugin simples que preserva ambientes inteiros do Tmux, incluindo a ordem das janelas e o layout dos painéis. Ele também armazena instantâneas incrementais de suas sessões, o que significa que você pode “voltar no tempo” e carregar diferentes versões da sua configuração do Tmux.

Um terminal mostrando os detalhes de um layout do Tmux.

Outra característica que eu gosto no Tmux-resurrect é que ele pode salvar o estado de um programa em execução. É verdade que a implementação não é perfeita, e o recurso cobre apenas um punhado de aplicativos. No entanto, o plugin lida com isso bem o suficiente para tornar sua configuração do Tmux mais fluida.

Um terminal mostrando o processo de restauração no tmux-resurrect que inclui a recuperação do estado do programa.

Bom saber: interessado em como o Tmux-resurrect faz sua mágica? Mergulhe fundo em como o Tmux gerencia janelas e painéis em uma sessão.

3. tmux-notify

Acompanhar programas em segundo plano pode ser difícil se você estiver equilibrando múltiplos painéis e sessões do Tmux. Na minha experiência, isso levou a momentos em que eu esqueci que tinha um comando em execução em segundo plano e fechei o Tmux acidentalmente.

Um terminal mostrando sessões Tmux fechadas recentemente.

Tmux-notify é um plugin que envia uma notificação quando detecta um processo finalizado. Ele funciona verificando qualquer painel ativo do Tmux que acabou de transitar para um prompt de shell Bash. O plugin então envia uma mensagem libnotify, que pode ser um sino visual do terminal ou um ping audível.

Um terminal mostrando a notificação toast libnotify para a tarefa em execução do Tmux.

Embora esse estilo de notificação funcione para a maioria dos usuários, o Tmux-notify também oferece suporte para bots do Telegram, alertas do Pushover e comandos personalizados. Isso torna possível integrar o Tmux-notify em praticamente qualquer fluxo de trabalho, tornando-o uma opção atraente para aqueles que desejam ajustar sua configuração do terminal.

A título de curiosidade: você é novo na linha de comando? Comece sua jornada com o pé direito conferindo nosso guia para iniciantes sobre como usar o terminal Linux.

4. tmux-jump

A navegação por buffers é, sem dúvida, uma das partes mais complicadas do Tmux. O multiplexador não fornece atalhos de teclado integrados para movimento fora do modo de cópia e foco na janela. Como alguém que usa Tmux para tarefas diárias de produtividade, acho essa peculiaridade estranha, tediosa e frustrante, especialmente para longas sessões de terminal.

Tmux-jump resolve esse problema tornando a navegação entre painéis do Tmux fácil e intuitiva. Inspirando-se no Vimium, ele usa dicas de palavras-chave para criar “pontos de salto” dentro de suas janelas do Tmux. Isso permite que você se mova rapidamente dentro do Tmux sem depender de seus atalhos complexos.

Um terminal mostrando as dicas de palavras-chave no Tmux-jump.

O Tmux-jump brilha mais quando você o combina com plugins como EasyMotion para Vim. No meu caso, essa configuração cria um fluxo de trabalho consistente onde o terminal e o editor de texto seguem os mesmos atalhos de movimento. Isso faz com que eles se comportem de maneira semelhante a um IDE, o que é difícil de replicar para programas de suíte completa como o Emacs.

Um terminal mostrando as dicas de palavras-chave funcionando em uma configuração de Tmux com múltiplos painéis.

5. treemux

Treemux é um plugin poderoso que integra perfeitamente o navegador de arquivos em estilo árvore do Neovim com o Tmux. Ele pode navegar por pastas, abrir arquivos e até exibir o diretório de trabalho atual. Isso torna-o um plugin inestimável se você deseja criar um IDE baseado em Neovim dentro do Tmux.

Um terminal mostrando o plugin Treemux funcionando em um painel do Tmux.

O desenvolvedor do Treemux também projetou o plugin para ser o menos intrusivo possível. Ele não aparece por padrão e ajusta seu tamanho de acordo com o painel ao qual está anexado. Assim, o Treemux é um excelente plugin se você prefere um terminal “zen” com distrações mínimas.

Um terminal mostrando o plugin Treemux funcionando em painéis individuais.

Por fim, o Treemux tem alguns complementos do Neovim que expandem o conjunto de recursos padrão do plugin. Tmuxsend.vim adiciona suporte para enviar o caminho completo do Treemux para o Tmux, tornando as referências de arquivos rápidas e fáceis. Enquanto isso, nvim-tree-remote.nvim permite que você abra arquivos no Treemux clicando duas vezes com o mouse.

No final das contas, o Tmux é apenas um programa multiplexador e esses plugins apenas estenderão o que ele já faz. Se você está procurando expandir o que o terminal pode fazer por você, confira como meu colega aprimorou seu terminal com um punhado de ótimos aplicativos.

Crédito da imagem: Grok via x.ai. Todas as alterações e capturas de tela por Ramces Red.