Zellij para tu colega que empieza: sesiones, tabs, paneles y ya


9 de julio de 2026

Este post es para el amigo que abre zellij por primera vez, ve un prompt distinto, algo raro abajo, se agobia y cierra la terminal. Nadie te lo explicó. Yo te lo explico.

Al final te dejo una herramienta pequeña que hicimos para no repetir comandos, por si te apetece.

Qué es Zellij y por qué te lo cuento

Zellij es un terminal multiplexer. Nombre feo, idea sencilla:

Es como tmux pero con menús visibles abajo. Si te suena screen o tmux y te agobiaron, prueba éste antes de rendirte con el mundo del multiplexer.

Instalar

Está en cualquier gestor moderno. En NixOS:

nix-env -iA nixos.zellij

En Debian/Ubuntu:

cargo install --locked zellij

O baja el binario de https://github.com/zellij-org/zellij/releases y lo pones en tu PATH.

Comprueba:

zellij --version

Lo mínimo para no morir

Cuando abres zellij por primera vez, mira abajo. Verás una barra con textos raros tipo Ctrl + p, Ctrl + t, etc. Esa barra es la chuleta. Zellij te dice qué modo tienes activo y qué teclas hacen cada cosa.

Los modos que importan:

Modo Cómo entras Qué haces ahí
Pane Ctrl + p Dividir la pantalla, cerrar paneles
Tab Ctrl + t Crear/moverte entre tabs
Session Ctrl + o Detach, listar sesiones
Resize Ctrl + n Cambiar tamaños
Move Ctrl + h Reordenar paneles

Regla mental: entras en modo, haces la acción, sales. La barra de abajo te va guiando. Cuando estés perdido, Esc te saca del modo y vuelves a escribir normal.

Sesiones: lo que hace a Zellij especial

Esto es el 80% de por qué merece la pena. Presta atención.

Arrancar y salirse sin cerrar nada

Abres una sesión:

zellij

Trabajas, escribes, tienes cosas corriendo (un servidor, un tail -f, un htop). Ahora cierras la ventana de la terminal. En tmux, eso lo mataba todo. En zellij no: la sesión sigue viva por dentro.

Recuperar tu sesión

Abres una terminal nueva y:

zellij attach

Si sólo tienes una sesión, te mete dentro. Ya estás en el mismo sitio, con todo tal cual lo dejaste.

Varias sesiones a la vez

Nada te impide tener varias:

zellij --session curro
zellij --session personal
zellij --session pruebas

Y luego:

zellij list-sessions       # ver cuáles hay
zellij attach curro        # meterte en una concreta

El truco: detach sin cerrar la terminal

Dentro de zellij pulsa Ctrl + o y luego d. Te saca fuera pero la sesión sigue viva.

Piensa en detach como "colgar un cuadro en la pared para volver a mirarlo cuando quieras". No lo estás rompiendo, lo estás dejando.

Matar de verdad

Cuando quieras cargarte una sesión:

zellij kill-session curro       # una
zellij kill-all-sessions        # todas

Tabs y paneles

Tabs

En modo Tab (Ctrl + t):

Tecla Acción
n Nueva tab
x Cerrar tab actual
r Renombrar tab
=1..9= Ir a tab N

Paneles

En modo Pane (Ctrl + p):

Tecla Acción
n Nuevo pane
d Split horizontal (dividir abajo)
r Split vertical (dividir a la derecha)
x Cerrar pane
f Toggle pantalla completa del pane actual
w Toggle pane flotante
e Toggle embed (flotante <-> tiled)

El w es magia. Te saca un pane flotando encima de todo, como una ventana. Perfecto para consultar algo rápido sin romper la disposición que tienes. w otra vez para esconderlo.

Moverse entre paneles

Sin modo, directo:

Layouts: guardar la disposición

Un layout es un archivo .kdl que describe qué tabs y qué paneles quieres al abrir. Si trabajas siempre igual (editor + logs + shell), te lo dejas montado en un fichero y arrancas con un comando.

Ejemplo mínimo ~/.config/zellij/layouts/dev.kdl:

layout {
    tab name="editor" {
        pane
    }
    tab name="logs" {
        pane command="tail" {
            args "-f" "/tmp/mi-log"
        }
    }
}

Y arrancas con:

zellij --layout dev

Cuando le pilles el gusto, esto vale su peso en oro.

El gotcha que te va a pasar (la sesión "resurrect")

Si cierras Zellij del todo y arrancas zellij --session foo otra vez… por defecto NO vuelve al estado en el que estaba, arranca limpio. Frustrante.

Solución: en ~/.config/zellij/config.kdl descomenta y pon:

session_serialization true
serialize_pane_viewport true

A partir de ese momento, Zellij guarda cada 10s la estructura de tabs y paneles al disco. Cuando vuelvas, hará resurrect del último estado. Si el proceso que tenías dentro estaba vivo (un editor, un servidor), no lo revive: la memoria de ese proceso murió. Pero la disposición sí vuelve, y con los CWDs correctos.

Multi-cliente: dos ventanas mirando la misma sesión

Zellij deja que dos terminales estén "attach" a la misma sesión al mismo tiempo. Útil para compartir con alguien por SSH, o para tener el mismo tab abierto en dos monitores.

Gotcha: el tamaño de la sesión lo fija el PRIMER cliente que entra. Los siguientes tienen que caber ahí. Si tu colega entra desde una resolución más pequeña, verás la sesión encogida.

Otro detalle que igual quieres: por defecto, los dos clientes ven lo mismo (mirror). Si prefieres que cada uno navegue independiente por sus tabs, en config.kdl:

mirror_session false

Con eso cada cliente puede estar en un tab distinto en paralelo.

Chuleta que caben en un post-it

zellij                     # arrancar
zellij --session NAME      # arrancar con nombre
zellij attach              # volver
zellij attach NAME         # volver a una concreta
zellij list-sessions       # cuáles hay
zellij kill-session NAME   # matar una

Dentro de la sesión:
Ctrl+p    → modo pane   (d/r split, w flotante, x cerrar)
Ctrl+t    → modo tab    (n nueva, x cerrar, 1..9 saltar)
Ctrl+o    → modo session (d = detach)
Ctrl+n    → modo resize (flechas)
Alt+flechas → moverte entre paneles rápido
Esc       → salir del modo actual

Guarda esto y en dos días estás volando.

Y ahora la herramienta

Si te ha gustado y quieres subir un peldaño, tengo una utilidad pequeña llamada zellij-pro: un wrapper en bash sobre el CLI de zellij que empaqueta las cosas que hago 20 veces al día.

Cosas que sabe hacer:

Está bajo licencia MIT y es puro bash, unos 1000 líneas legibles.

git clone https://github.com/pascualmg/zellij-pro
sudo install zellij-pro/bin/zellij-pro /usr/local/bin/
zellij-pro --help

Si además usas Claude Code, dentro del repo hay un SKILL.md que Claude entiende como manual de la herramienta. Copiándolo a ~/.claude/skills/zellij-pro/, tu Claude ya sabe cuándo llamar a zellij-pro y con qué subcomandos.

Para terminar

Zellij no es magia y no arregla ningún problema del terminal. Lo único que hace, hecho bien, es que dejes de perder trabajo cuando cierras una ventana y de recordar diez atajos distintos para partir la pantalla.

Un día te das cuenta de que no cierras nunca la sesión, y cuando reinicias vuelves al mismo sitio. Ese día empieza a molar.

Suerte y a jugar.

— zellijota

Comparte este post:

Es tu post

Estas seguro? Esto no se puede deshacer.

Comentarios (0)

Sin comentarios todavia. Se el primero!

Deja un comentario