REFERENCIA RÁPIDA DE TMUX
Sesiones, ventanas, paneles, modo copia, configuración
Gestión de Sesiones
Crear y Conectar
tmux # nueva sesión
tmux new -s work # nueva sesión con nombre
tmux attach -t work # conectar a sesión
tmux attach -dt work # desconectar otros, conectar
Comandos de Sesión
| tmux ls | Listar todas las sesiones |
| tmux kill-session -t work | Eliminar una sesión con nombre |
| tmux kill-server | Eliminar el servidor tmux y todas las sesiones |
| tmux rename-session -t old new | Renombrar una sesión |
| Prefix d | Desconectarse de la sesión actual |
| Prefix $ | Renombrar sesión actual |
| Prefix s | Listar sesiones (interactivo) |
El prefijo predeterminado es Ctrl-b
Ventanas
Atajos de Ventana
| Prefix c | Crear nueva ventana |
| Prefix , | Renombrar ventana actual |
| Prefix & | Cerrar ventana actual (confirmar) |
| Prefix n | Siguiente ventana |
| Prefix p | Ventana anterior |
| Prefix 0-9 | Cambiar a ventana por número |
| Prefix w | Listar ventanas (selector interactivo) |
| Prefix l | Alternar a la última ventana activa |
Comandos de Ventana
tmux new-window -t work # nueva ventana en sesión
tmux swap-window -t 0 # mover ventana al índice 0
tmux move-window -t 3 # renumerar al índice 3
Paneles
Dividir y Cerrar
| Prefix % | Dividir horizontalmente (izquierda | derecha) |
| Prefix " | Dividir verticalmente (arriba / abajo) |
| Prefix x | Cerrar panel actual (confirmar) |
| Prefix ! | Convertir panel en su propia ventana |
| Prefix z | Alternar zoom del panel (ventana completa) |
Redimensionar Paneles
| Prefix Ctrl-Arrow | Redimensionar 1 celda |
| Prefix Alt-Arrow | Redimensionar 5 celdas |
| Prefix Space | Ciclar por los diseños |
Diseños: even-horizontal, even-vertical, main-horizontal, main-vertical, tiled
Navegación
Moverse entre Paneles
| Prefix Arrow | Moverse al panel en esa dirección |
| Prefix o | Ciclar al siguiente panel |
| Prefix q | Mostrar números de panel, luego presionar número para saltar |
| Prefix { | Intercambiar panel con el anterior |
| Prefix } | Intercambiar panel con el siguiente |
Moverse entre Sesiones
| Prefix ( | Cambiar a la sesión anterior |
| Prefix ) | Cambiar a la sesión siguiente |
| Prefix s | Selector de sesiones (vista de árbol) |
| Prefix w | Selector de ventanas en todas las sesiones |
Modo Copia
Entrar y Navegar
| Prefix [ | Entrar en modo copia |
| q | Salir del modo copia |
| Arrow / hjkl | Mover cursor (modo vi) |
| Ctrl-u / Ctrl-d | Página arriba / página abajo |
| g / G | Saltar al principio / final |
| / | Buscar hacia adelante |
| ? | Buscar hacia atrás |
| n / N | Siguiente / anterior coincidencia |
Seleccionar y Copiar
| Space | Iniciar selección (modo vi) |
| Enter | Copiar selección y salir |
| Prefix ] | Pegar buffer |
| v | Alternar selección rectangular (modo vi) |
Activar modo vi: set -g mode-keys vi
Configuración
Configuraciones Comunes (~/.tmux.conf)
set -g mouse on # activar ratón
set -g base-index 1 # ventanas empiezan en 1
set -g renumber-windows on # renumerar al cerrar
set -g default-terminal "tmux-256color"
set -g history-limit 50000
Recargar Configuración
tmux source-file ~/.tmux.conf # desde la shell
# o Prefix : luego escribir:
source-file ~/.tmux.conf
Barra de Estado
Opciones de la Barra de Estado
set -g status-position top
set -g status-style "bg=black,fg=white"
set -g status-left "[#S] "
set -g status-right "%H:%M %d-%b"
set -g status-interval 5
Variables de Formato
| #S | Nombre de sesión |
| #I | Índice de ventana |
| #W | Nombre de ventana |
| #P | Índice de panel |
| #H | Nombre de host |
| #T | Título del panel |
Atajos de Teclado
Atajos Personalizados
# cambiar prefijo a Ctrl-a
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# navegación de paneles estilo vim
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
Sintaxis de Atajos
| bind X command | Asignar Prefix + X al comando |
| bind -n M-Left prev | Asignar sin prefijo (Alt-Left) |
| bind -r H resize-pane -L 5 | Atajo repetible |
| unbind X | Eliminar un atajo |
| Prefix ? | Listar todos los atajos actuales |
Scripting
Diseños con Scripts
tmux new-session -d -s dev
tmux send-keys -t dev "vim" Enter
tmux split-window -h -t dev
tmux send-keys -t dev "npm run dev" Enter
tmux attach -t dev
Comandos Útiles
| tmux send-keys -t sess 'cmd' Enter | Enviar pulsaciones de teclas a una sesión |
| tmux capture-pane -p | Imprimir contenido del panel a stdout |
| tmux display-message '#S' | Mostrar un mensaje / variable |
| tmux set-environment -g VAR val | Establecer una variable de entorno |
| tmux list-keys | Listar todos los atajos de teclado |
Patrones Comunes
~/.tmux.conf Recomendado
set -g mouse on
set -g base-index 1
set -g mode-keys vi
set -g status-position top
set -g history-limit 50000
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
Recetas Rápidas
| Sobrevivir desconexión SSH | tmux new -s work → desconectar → tmux attach -t work |
| Compartir sesión | Ambos usuarios tmux attach -t same (solo lectura: -r) |
| Guardar historial | tmux capture-pane -S -3000 -p > log.txt |
| Matar panel bloqueado | Prefix x, o tmux kill-pane -t %N |
| Reordenar ventanas | :swap-window -s 3 -t 1 |