⛩️ El Arte de la Multiplexación
Como Ninja, necesitas múltiples ojos viendo el campo de batalla. cmux (Cool Mux) es un multiplexor de terminal escrito en Rust que te permite gestionar múltiples ventanas desde una sola terminal.
🎯 Definición Teórica: ¿Por Qué cmux?
El Problema
Los multiplexores tradicionales como tmux y screen son poderosos pero complicate. cmux ofrece:
| Característica | tmux | cmux |
|---|---|---|
| Lenguaje | C | Rust |
| Velocidad | Rápido | ⚡ Ultra rápido |
| Configuración | Compleja | Mínima |
| Dependencias | libevent | Ninguna |
| Memoria | ~2MB | ~500KB |
El Por Qué Técnico
- Rust: Seguridad de memoria sin garbage collection
- Sin dependencias: Funciona en cualquier sistema
- UI mínima: Enfocado en funcionalidad, no florituras
- Teclas Vim: Navegación natural para desarrolladores
🗡️ Guía de Implementación
Instalación
# macOS
brew install cmux
# Linux (desde código fuente)
cargo install cmux
# O descarga binarios precompilados
wget https://github.com/nicholasyu/cmux/releases/latest/cmux
chmod +x cmux
sudo mv cmux /usr/local/bin/
Comandos Básicos
# Iniciar cmux
cmux
# Atajos de teclado principales
# ----------------------
# Ctrl+a c Nueva ventana
# Ctrl+a n Siguiente ventana
# Ctrl+a p Ventana anterior
# Ctrl+a d Separar (detach)
# Ctrl+a [ Modo copia/vim
# Ctrl+a w Listar ventanas
# Ctrl+a , Renombrar ventana
# Ctrl+a & Cerrar ventana
# Ctrl+a | Dividir verticalmente
# Ctrl+a - Dividir horizontalmente
Configuración
Crea ~/.config/cmux/config.toml:
[general]
theme = "tokyo-night"
mouse = true
[keys]
prefix = "Ctrl+a"
copy-mode-vi = true
[status]
show-hostname = true
show-date = true
[windows]
default-name = "shinobi"
🥷 Reto Ninja
Nivel: Genin → Chunin
Misión 1: Configura tu Dojo Multi-ventana
- ✅ Instala cmux
- ✅ Crea 4 ventanas: Editor, Servidor, Git, Tests
- ✅ Organízalas en layout de splits
- ✅ Guarda la sesión
Misión 2: Atajos de Velocidad
# Practica hasta dominar:
# 1. Crear ventana en 2 segundos
# 2. Navegar sin tocar el mouse
# 3. Detach y reattach en 3 segundos
# 4. Buscar en historial de terminal
Script de Configuración Rápida
#!/bin/bash
# setup-ninja-session.sh
# Crear sesión ninja con 4 paneles
cmux new-session -d -s "proyecto"
cmux new-window -t "proyecto:1" -n "editor" "vim"
cmux new-window -t "proyecto:2" -n "server" "npm run dev"
cmux new-window -t "proyecto:3" -n "git" "lazygit"
cmux new-window -t "proyecto:4" -n "tests" "npm test"
# Dividir primer panel
cmux split-window -h
cmux split-window -v
cmux attach-session -t "proyecto"
📜 Técnicas Avanzadas
Sesiones Persistentes
# Tu sesión survive incluso si cierras terminal
cmux new-session -d -s "always-running"
# Reattach desde cualquier lugar
cmux attach -t "always-running"
Sincronización de Paneles
# Escribir en todos los paneles simultáneamente
# Útil para correr comandos en múltiples servidores
# En cmux:
# Ctrl+a :sync-panes on
# Ctrl+a :sync-panes off
Copiar/Pegar como Vim
# Habilitar modo vim en config.toml
[keys]
copy-mode-vi = true
# Navigate: h,j,k,l
# Copy: v
# Paste: p
🎓 Conclusión del Maestro
“Un Ninja que no puede gestionar múltiples frentes de batalla no es un verdadero maestro. cmux te da ese poder.” — Maestro del Terminal
✅ Checklist de Dominio
- cmux instalado
- 4 ventanas configuradas
- Atajos de vim dominados
- Sesión persistente configurada
- Split windows implementado
Recompensa XP: 50 XP ⚔️