⛩️ 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ísticatmuxcmux
LenguajeCRust
VelocidadRápido⚡ Ultra rápido
ConfiguraciónComplejaMínima
DependenciaslibeventNinguna
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

  1. ✅ Instala cmux
  2. ✅ Crea 4 ventanas: Editor, Servidor, Git, Tests
  3. ✅ Organízalas en layout de splits
  4. ✅ 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 ⚔️