ZellijBeginner10 min
Zellij is a modern terminal multiplexer written in Rust. Unlike tmux (which has a 30-year-old config syntax), Zellij uses KDL for configuration, has a built-in layout system, floating panes, and a plugin system — all out of the box.
This guide covers Zellij from installation to custom layouts and session management.
Install Zellij:
brew install zellijRun zellij to start a session. The interface shows a status bar at the bottom with key hints — you never need to memorize shortcuts.
Ctrl+p — pane mode (split, move, resize)Ctrl+t — tab mode (new, close, switch)Ctrl+s — scroll/copy modeCtrl+n — new pane (in pane mode)Ctrl+h / Ctrl+v — split horizontally/verticallyCtrl+d — detach sessionLayouts are Zellij's killer feature. Define a workspace as a KDL file and Zellij recreates it every time.
// ~/.config/zellij/layouts/dev.kdl
layout {
pane size=1 borderless {
plugin location="tab-bar"
}
pane split_direction="vertical" {
pane command="nvim"
pane split_direction="horizontal" {
pane command="npm" { args "run" "dev" }
pane command="npm" { args "run" "test" }
}
}
pane size=2 borderless {
plugin location="status-bar"
}
}Launch with zellij --layout dev — your editor, dev server, and test runner all start at once.
Ctrl+p + w creates a floating window for temporary workAdvanced Zellij features:
~/.config/zellij/themes/Common Zellij issues:
Ctrl+o then d, or Ctrl+d depending on your versionsession_serialization truedefault_shell and ensure your terminal supports true colorZellij is set up. Explore more: