Tmux Guía Rápida

Guía Rápida de Tmux (Cheat Sheet)

Prefijo: Ctrl + a (Presiona ambos, en este ejemplo la tecla CTRL y la tecla A. suéltalos y luego presiona la siguiente tecla) si no has cambiado la configuración de tmux como te decimos al final de la tabla tu combinación sería Ctrl + b

Categoría Atajo / Comando Acción
Sesiones tmux Iniciar nueva sesión
tmux new -s <nombre> Iniciar sesión con un nombre específico
Ctrl + a y luego d Desconectarse (Detach) de la sesión actual
tmux ls Listar todas las sesiones activas
tmux a -t <nombre> Reconectarse (Attach) a una sesión específica
Ctrl + a y luego s Envia la ventana actual a otra sesión de tmux
Ventanas Ctrl + a y luego c Crear una nueva ventana (pestaña)
Ctrl + a y luego , Renombrar la ventana actual
Ctrl + a y luego n / p Ventana Siguiente (Next) / Anterior (Previous)
Ctrl + a y luego 0-9 Cambiar a ventana por número
Ctrl + a y luego w Listar y seleccionar ventanas
Ctrl + a y luego & Cerrar la ventana actual
Paneles Ctrl + a y luego % Dividir Verticalmente (izquierda/derecha)
Ctrl + a y luego " Dividir Horizontalmente (arriba/abajo)
Ctrl + a y luego Flechas Navegar entre paneles
Ctrl + a y luego z Alternar Zoom (Maximizar panel)
Ctrl + a y luego x Cerrar el panel actual
Ctrl + a y luego espacio Ciclar entre diseños (layouts)
Ctrl + a y luego q Mostrar número de los paneles
Varios Ctrl + a y luego [ Entrar en Modo Copia (Desplazarse/Copiar)
q Salir del Modo Copia / Ayuda / Menú
Ctrl + a y luego : Abrir la línea de comandos de tmux
Ctrl + a y luego ? Ver todos los atajos de teclado

Configuración ideal para hacking

Esta configuración es muy común entre usuarios que nos dedicamos a la ciberseguridad. Básicamente, personalizamos la ergonomía, la capacidad de respuesta y guardamos los logs de las sesiones.

Esta es la configuración completa que debes poner en el archivo de configuración típicamente en la ruta: ~/.tmux.conf y más abajo te pongo la explicación:

Linux

set -g prefix C-a
bind C-a send-prefix
unbind C-b

set -g history-limit 100000
set -g allow-rename off
set -g @plugin 'tmux-plugins/tmux-logging'
set -g status-bg colour27
set -g status-fg white
set -g mouse on

bind-key j command-prompt -p "Join pane from:" "join-pane -s '%%'"
bind-key s command-prompt -p "Send pane to:" "join-pane -t '%%'"

set-window-option -g mode-keys vi

run-shell /opt/tmux-logging/logging.tmux

1. Cambio del Prefijo (Ergonomía)

set -g prefix C-a
bind C-a send-prefix
unbind C-b
  • Qué hace: Cambia el comando maestro de tmux de Ctrl + b (el original) a Ctrl + a.
  • Por qué: Ctrl + a es mucho más fácil de alcanzar con la mano izquierda (en mi caso, usaba GNU screen antes de tmux y ya lo tengo internalizado). La segunda línea permite que si presionas Ctrl + a dos veces, se envíe el comando a una aplicación dentro de tmux (como una VM). La tercera línea desactiva el prefijo original para evitar conflictos.

2. Rendimiento y Comportamiento

set -g history-limit 100000
set -g allow-rename off
set -g mouse on
  • history-limit: Aumenta el scrollback a 100,000 líneas. El que viene por defecto es muy corto (como 2,000 apróx). Esto es vital si estás corriendo herramientas que generan mucho texto (como escaneos de Nmap).
  • allow-rename off: Evita que los programas (como bash o zsh) cambien automáticamente el nombre que le pusiste a tu ventana.
  • mouse on: Activa el soporte para mouse (scroll, redimensionar paneles y seleccionar ventanas con un clic), esto es muy útil cuando estás en modo gráfico, puedes ir hacia átras en tu scrollback y cambiar de paneles con tu mouse.

3. Estética y Plugins (Visual y Auditoría)

set -g status-bg colour27
set -g status-fg white
set -g @plugin 'tmux-plugins/tmux-logging'
run-shell /opt/tmux-logging/logging.tmux
  • Colores: Cambia la barra de estado a un fondo azul brillante (colour27) con letras blancas. Esto ayuda a identificar rápidamente que estás dentro de tmux.
  • Logging: Configura y arranca el plugin tmux-logging. Esto es muy útil ya que permite guardar un registro completo de todo lo que escribes y recibes en la pantalla (ideal para armar tus reportes de auditoría o documentar tus CTFs), esto solo funciona cuando se instala este plugin, en otro post haremos la configuración.

4. Gestión Avanzada de Paneles (Join & Send)

bind-key j command-prompt -p "Join pane from:" "join-pane -s '%%'"
bind-key s command-prompt -p "Send pane to:" "join-pane -t '%%'"

Estas son funciones potentes para manipular paneles entre diferentes ventanas:

  • j (Join): Te permite “traer” un panel de otra ventana a la ventana actual. Si presionas Prefijo + j y escribes 2, traerá la ventana 2 y la convertirá en un panel aquí.
  • s (Send): “Envía” el panel donde estás hacia otra ventana existente.

5. Navegación Estilo Vi

set-window-option -g mode-keys vi
  • Qué hace: Te permite moverte por el historial de la terminal usando las teclas de Vim (h, j, k, l) cuando estás en el Modo Copia (Prefijo + [).
  • Por qué: Es mucho más rápido que usar las flechas del teclado si ya estás acostumbrado a editores de texto modernos o clásicos.

¿Cómo usar esta configuración?

  1. Da click en copiar para que copie toda la configuración en el portapapeles y gardalo en el archivo ~/.tmux.conf
  2. Asegúrate de que el plugin de logging esté realmente instalado en /opt/tmux-logging/ (tampoco te preocupes eso lo haremos en otro post).
  3. Recarga la configuración con: tmux source-file ~/.tmux.conf