558 - Zellij, la alternativa a screen y tmux
#zellij de @zellij_dev es un potente multiplexor de terminal para #linux y #macos. Una alternativa a #tmux y a #screen que en mi caso los ha reemplazado
Antes de sumergirnos en las procelosas aguas de enfrentar Zellij con otras herramientas, tengo que aclarar que yo he sido un usuario puntual de tmux. Y si bien, soy usuario de Zellij, prefiero abrir varios terminales en mi escritorio. El objetivo de traerte Zellij, no es otro que el de mostrarte alternativas a las tradiciones herramientas screen y tmux. Dar opciones. Y luego, que cada uno decida cual es la herramienta que mas le interesa o mas le conviene. Pero, que no se diga que no lo he contado. Y es que, en estos últimos tiempos estamos asistiendo a todo un nacimiento de nuevas herramientas, y creo que es muy interesante, darles un vistazo, y tenerlas en consideración. Rust, está consiguiendo renovar nuestro vetusto parque de herramientas. Ahora te toca decidir, si te quedas con tu herramienta preferida o cambias. Mi objetivo es mostrarte Zellij, como alternativa a screen y tmux.
Zellij, la alternativa a screen y tmux
Multiplataforma y pruebas
Zellij está disponible tanto en Linux como en macOS. Puedes probarlo directamente sin necesidad de instalarlo, tan solo ejecutando alguna de los comandos que te muestro a continuación, que depende de tu shell,
- Para
bash
ozsh
=>bash <(curl -L zellij.dev/launch)
- Para
fish
=>bash (curl -L zellij.dev/launch | psub)
Tiling vs multiplexor
Lo cierto es que no tengo muy claro las ventajas de utilizar un multiplexor de terminal como scren o tmux frente a utilizar un tiling window manager. Supongo que para una persona que no tenga un tiling será ventajoso, en otro caso, la verdad no lo veo.
¿Que es Zellij?
Tal y como le explican los propios desarrolladores de la aplicación, Zellij es un espacio de trabajo para la terminal. Tiene la funcionalidad básica de un multiplexor de terminal, similar a tmux o screen, pero viene con muchas características integradas que te permitirán personalizarlo y crear tu propio entorno según tus necesidades. Es como la navaja suiza de la terminal, listo para que lo adaptes a tu gusto.
Características de Zellij
Algunas de las características de Zellij, son las siguientes,
- Zellij te permite dividir tu terminal en paneles y pestañas. Tantos como necesites.
- Tiene un motor de layouts. Este motor te va a permitir definir la dispoisición de paneles y pestañas en un archivo, así como las aplicaciones que quieres que se ejecuten cada vez que utilices ese archivo para iniciar Zellij.
- Los plugins de Zellij. Zellij tiene paneles especiales que no son terminales. Estos paneles son plugins. Existen algunos plugins predefinidos, pero puedes crear tus propios plugins según tus necesidades.
Configuración por defecto de Zellij
Si nada mas instalar Zellij lo pones en funcionamiento creará una configuración por defecto, con el correspondiente layout
. Este layout
está divido en tres secciones verticalmente.
- la primera de las secciones es una barra donde se muestra el nombre de la sessión así como las pestañas que hay actualmente.
- La sección central, que además es la mas grande, te muestra la shell. En la parte superior te mostrará el directorio en el que te encuentras.
- La última de las secciones, la que se encuentra en la parte inferior, es un plugin, la barra de estado. En esta barra de estado encontrarás los atajos de teclados correspondiente al modo en el que te encuentras. Y es que Zellij es modal, es decir, tiene diferente comportamiento según el modo el el que se encuentre. Así puedes estar en el modo panel, o en el modo pestaña, y así.
- Tiene muchas otras características, que tendrás que ir descubriendo poco a poco, como por ejemplo, la posibilidad de paneles flotantes.
Los modos de Zellij
Como he comentado anteriormente, Zellij funciona con modos, al igual que lo hace Vim o Neovim. Actualmente los modos de Zellij son los siguientes,
normal
locked
resize
pane
move
tab
scroll
search
entersearch
renametab
renamepane
session
tmux
Si tiene un modo llamado tmux
. Este modo es un modo especialmente pensado en los usuarios de tmux
para hacerles mas fácil la transición a esta herramienta.
Integración de Zellij
Es posible integrar Zellij con los shell mas habituales como Bash
, Zsh
o Fish
. De forma que puedes hacer que se inicie conforme abras una sesión de terminal. Esto es a gusto del consumidor.
Algunos comandos de Zellij
list-sessions
ols
lista todas las sesionesattach
oa
se une a una sesión si le pasas el nombre de la sesión. En el caso de que no le pases ningún nombre de sesión y haya una activa se unirá a esa.kill-sessions
ok
mata la sesión cuyo nombre le hayas pasadokill-all-sessions
oka
mata todas las sesiones activas.
Además es posible controlar Zellij direactamente desde la terminal
Configuración de Zellij
Zellij tiene una configuración muy pormenorizada y es de esas herramientas con la que puedes pasar una tarde completa de Domingo personalizando cada uno de los detalles.
Una de las posibilidades que tienes es personalizar los atajos de teclado. Y aquí de nuevo, tienes un buen trabajo, porque puedes personalizar desde los atajos de teclado que habilita cada uno de los modos a cualquier cosa que te puedes imaginas.
A cada uno de los atajos de teclado le puedes asignar una acción. Existen todo tipo de acciones.
Plugins o complementos
Como no podía ser de otra forma, Zellij admite complementos o plugins. Indicar, que según la documentación oficial, esto de los plugins está todavía en un estado temprano, y algunas cosas no funcionan o no lo hacen como debieran. De echo, en la propia documentación, hacen referencia a los issues que hay actualmente abiertos pendientes de resolución.
Algunos complementos,
- zjstatus un barra de estado configurable
- room un plugin para realizar búsquedas y cambiar de pestaña
- zellij-forgot este plugin te muestra y te permite buscar todos los atajos de teclado configurados.
- zj-docker te permite mostrar los contenedores y realizar operaciones básicas
El vídeo
Conclusiones
Pruebalo
Más información,