# ============================================================================ # tmux CONFIGURATION FILE -> .tmux.conf # ============================================================================ # CATEGORIA 1: TERMINAL & COMPATIBILIDADE DE CORES # ============================================================================ # Define o emulador correto para o tmux e garante suporte a TrueColor (RGB) set -g default-terminal "tmux-256color" set -as terminal-features ",xterm-256color:RGB" # Remove o atraso da tecla Esc (essencial para o modo de inserção do Neovim) set -s escape-time 0 # Habilita o repasse de teclas modificadoras (como Ctrl e Shift) para o Neovim setw -g xterm-keys on # ============================================================================ # CATEGORIA 2: COMPORTAMENTO GERAL DO SISTEMA # ============================================================================ # Ativa o uso do mouse para rolar telas e redimensionar painéis set -g mouse on # Aumenta o limite do histórico de linhas guardadas no terminal set -g history-limit 1000000 # Faz a numeração de janelas e painéis começar em 1 (mais intuitivo no teclado) set -g base-index 1 setw -g pane-base-index 1 # Renumera as janelas automaticamente em ordem sequencial quando uma é fechada set -g renumber-windows on # Permite copiar o texto selecionado no tmux direto para a área de transferência do PC set -g set-clipboard on # Desabilita avisos e alertas visuais irritantes de atividade em segundo plano setw -g monitor-activity off set -g visual-activity off # ============================================================================ # CATEGORIA 3: GERENCIAMENTO DE PAINÉIS (SPLITS) # ============================================================================ # Divide a tela horizontalmente e verticalmente mantendo o diretório atual aberto bind '"' split-window -v -c "#{pane_current_path}" bind % split-window -h -c "#{pane_current_path}" # Alterna entre os painéis (splits) usando Alt + Setas (Sem precisar do prefixo) bind -n M-Left select-pane -L bind -n M-Right select-pane -R bind -n M-Up select-pane -U bind -n M-Down select-pane -D # ============================================================================ # CATEGORIA 4: NAVEGAÇÃO ENTRE JANELAS (ABAS) # ============================================================================ # Alterna entre janelas inteiras usando Ctrl + Seta Esquerda/Direita (Sem prefixo) bind-key -n M-PageUp previous-window bind-key -n M-PageDown next-window # ============================================================================ # CATEGORIA 5: CUSTOMIZAÇÃO DA BARRA DE STATUS # ============================================================================ # Ativa e posiciona a barra de status no topo da tela set -g status on set -g status-position top # Define o intervalo de atualização das informações da barra para 5 segundos set -g status-interval 5 # Define as cores de fundo e texto padrão de toda a barra set -g status-style "bg=black,fg=white" # Define o tempo que as mensagens do tmux (como avisos de salvamento) ficam visíveis (0,5s) set -g display-time 500 # Limite de largura de caracteres para as informações da esquerda e da direita set -g status-left-length 40 set -g status-right-length 40 # Lado Esquerdo: Exibe o nome da sessão atual do tmux em laranja vibrante e negrito set -g status-left "#[fg=#FF4F00,bg=black,bold] #S " # Centro: Organiza e centraliza as abas das janelas abertas na tela set -g status-justify centre set -g window-status-separator "" # Estilo visual das janelas que estão em segundo plano (inativas) set -g window-status-style "fg=colour245,bg=black" # Estilo visual da janela que está com o foco atual (ativa) set -g window-status-current-style "fg=black,bg=colour250,bold" # Formato de exibição dos títulos das janelas na barra ([Número do ID]:[Nome do Processo]) set -g window-status-format " #I:#W " set -g window-status-current-format " #I:#W " # Lado Direito: Exibe a Data e a Hora atual em laranja vibrante e negrito set -g status-right "#[fg=#FF4F00,bg=black,bold]%d/%m/%Y %H:%M " # ============================================================================ # CATEGORIA 6: GERENCIADOR DE PLUGINS (TPM) # ============================================================================ # Declaração dos pacotes gerenciados pelo Tmux Plugin Manager set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' set -g @plugin 'tmux-plugins/tmux-resurrect' set -g @plugin 'tmux-plugins/tmux-continuum' # ============================================================================ # CATEGORIA 7: CONFIGURAÇÕES E ATALHOS DOS PLUGINS # ============================================================================ # TMUX RESURRECT: Atalho manual personalizado para salvar o estado atual (Ctrl-b + Ctrl-s) bind-key C-s run-shell ' if [ -x "$HOME/.tmux/plugins/tmux-resurrect/scripts/save.sh" ]; then tmux display-message "#[fg=#FF4F00,bold]💾 Salvando sessão..." "$HOME/.tmux/plugins/tmux-resurrect/scripts/save.sh" >/dev/null 2>&1 tmux display-message "#[fg=green,bold]✓ Sessão salva com sucesso" else tmux display-message "#[fg=red,bold]✗ tmux-resurrect não encontrado" fi ' # TMUX RESURRECT: Atalho manual personalizado para restaurar o estado salvo (Ctrl-b + Ctrl-r) bind-key C-r run-shell ' if [ -x "$HOME/.tmux/plugins/tmux-resurrect/scripts/restore.sh" ]; then tmux display-message "#[fg=#FF4F00,bold]↺ Restaurando sessão..." "$HOME/.tmux/plugins/tmux-resurrect/scripts/restore.sh" >/dev/null 2>&1 tmux display-message "#[fg=green,bold]✓ Sessão restaurada" else tmux display-message "#[fg=red,bold]✗ tmux-resurrect não encontrado" fi ' # TMUX CONTINUUM: Ativa a inicialização automática do ambiente junto com o boot do sistema operacional set -g @continuum-boot 'on' # ============================================================================ # INICIALIZAÇÃO OBRIGATÓRIA (DEVE FICAR NO FIM DO ARQUIVO) # ============================================================================ # Executa o interpretador do TPM para carregar os plugins citados acima na memória run '~/.tmux/plugins/tpm/tpm'