Domine sua Experiência Terminal com Tmux
Se você é um entusiasta do terminal ou um desenvolvedor experiente, provavelmente já experimentou a sensação de ter várias abas ou janelas do terminal abertas ao mesmo tempo. No entanto, gerenciar todas essas sessões pode se tornar uma tarefa desafiadora. É aqui que o Tmux entra em cena para simplificar e aprimorar sua experiência no terminal.
O que é o Tmux?
Tmux, ou Terminal Multiplexer, é uma poderosa ferramenta de linha de comando que permite dividir a tela do terminal em várias janelas e painéis, facilitando a execução de várias tarefas simultaneamente. Com o Tmux, você pode criar, redimensionar e alternar entre várias sessões do terminal sem esforço, tornando-o uma ferramenta indispensável para usuários de linha de comando.
Principais Recursos do Tmux:
- Sessões: O Tmux permite criar várias sessões do terminal, o que é útil para separar diferentes tarefas ou projetos. Você pode facilmente alternar entre essas sessões com alguns atalhos de teclado simples.
- Janelas: Dentro de cada sessão, você pode ter várias janelas, cada uma representando um ambiente de trabalho separado. Isso é útil quando você está trabalhando em vários projetos ao mesmo tempo e deseja manter cada um isolado.
- Painéis: As janelas podem ser divididas em vários painéis, permitindo executar várias tarefas dentro de uma única janela. Você pode redimensionar, mover e fechar esses painéis conforme necessário.
- Persistência: Uma das características mais úteis do Tmux é sua capacidade de manter sessões ativas, mesmo quando você fecha a conexão SSH ou encerra o terminal. Isso significa que você pode retomar seu trabalho exatamente de onde parou, sem perder o contexto.
- Personalização: O Tmux é altamente personalizável, permitindo que você configure atalhos de teclado, temas e layouts de acordo com suas preferências.
Como começar com o Tmux:
- Instalação: O Tmux está disponível nos repositórios de pacotes da maioria das distribuições Linux e pode ser instalado facilmente usando gerenciadores de pacotes como apt, yum ou pacman. Para usuários do macOS, o Tmux pode ser instalado via Homebrew.
- Comandos Básicos: Assim que o Tmux estiver instalado, você pode iniciar uma nova sessão com o comando
tmux
. UseCtrl+b
como prefixo, seguido por outros comandos para interagir com o Tmux. Por exemplo,Ctrl+b c
cria uma nova janela,Ctrl+b %
divide a janela verticalmente eCtrl+b "
divide a janela horizontalmente. - Explorando Recursos Avançados: À medida que você se familiariza com o Tmux, pode explorar recursos mais avançados, como personalização de configuração, scripts de automação e integração com outras ferramentas.
Como eu utilizo:
Na minha máquina local, utilizo o Tmux com o prefixo padrão alterado para Ctrl+a para assim diferenciar as conexões remotas de SSH, que utilizam o prefixo padrão Ctrl+b. Ao final vou colocar em anexo o meu .tmux.conf
Conclusão:
O Tmux é uma ferramenta poderosa que pode aumentar significativamente sua produtividade no terminal. Com recursos como sessões, janelas e painéis, ele oferece uma maneira eficiente de gerenciar e organizar seu trabalho no terminal. Se você ainda não experimentou o Tmux, vale a pena dedicar um tempo para aprender, pois pode se tornar uma parte indispensável de seu fluxo de trabalho no terminal. Experimente e domine sua experiência terminal com o Tmux!
.tmux.conf
##### CLEANUP
set -g default-command /usr/bin/zsh
set -g default-shell /usr/bin/zsh
# Unbind the default tmux command prefix, CTRL+b.
unbind C-b
#####
##### PREFERENCES
# Use CTRL+a as our tmux command prefix.
set -g prefix C-a
# Lower the default tmux delay, this makes tmux more responsive.
set -s escape-time 1
# Enable mouse movements.
#setw -g mode-mouse on
#
## Enable pane selection via the mouse.
#set -g mouse-select-pane on
#
## Enable the mouse to resize panes.
#set -g mouse-resize-pane on
#
## Enable the mouse to change the current window.
#set -g mouse-select-window on
# Make tmux use 256 colors.
set -g default-terminal "screen-256color"
# Make tmux act like xterm to prevent Vim issues:
#set -g terminal-overrides 'xterm*:smcup@:rmcup@'
# Only resize the screen size if the smaller screen user has their window
# active. This way my screen won't be resized to an incredibly small window
# unnecessarily.
setw -g aggressive-resize on
# Store a lot of history.
set -g history-limit 100000
##### MAPPINGS
# PREFIX CTRL+a: send CTRL+a to the local application.
bind C-a send-prefix
# PREFIX r: Instantly reload tmux's configuration file.
bind r source-file ~/.tmux.conf \; display "tmux has been reloaded!"
bind C-q detach -P
# PREFIX \: Create a new vertial pane.
bind '\' split-window -h
# PREFIX -: Create a new horizontal pane.
bind - split-window -v
##### APPEARANCE
set -g status-bg white #base02
set -g status-fg black #yellow
#set -g status-attr default
# Default window title colors.
#setw -g window-status-fg brightblue #base0
#setw -g window-status-bg default
# Active window title colors.
#setw -g window-status-current-fg brightred #orange
#setw -g window-status-current-bg default
# Pane border.
#set -g pane-border-fg black #base02
#set -g pane-active-border-fg brightgreen #base01
# Message text.
#set -g message-bg black #base02
#set -g message-fg brightred #orange
# Pane number display.
set -g display-panes-active-colour blue #blue
set -g display-panes-colour brightred #orange
# Clock colors.
set -g clock-mode-colour green #green
# Coloca a barra de status em cima
set -g status-position top
# Make the left side of our status bar display the hostname.
set -g status-left " >> "
# Display the date and time on the right side of the status bar.
set -g status-right "#H %d/%m/%Y %r %Z"
# Center our windows in the status bar display.
set -g status-justify left
# Disable window activity notifications in tmux windows.
setw -g monitor-activity off
# Refresh the status bar every 10 seconds.
set -g status-interval 10
bind-key S set-window-option synchronize-panes\; display-message "synchronize-panes is now #{?pane_synchronized,on,off}"