zellij — Modern Terminal Multiplexer
Linux / Modern CLI Tools / zellij.html
💬 "zellij command"
zellij is a terminal workspace (multiplexer) tool. Like tmux or screen it splits the screen into panes and tabs, but it offers on-screen hints and shortcuts that beginners can pick up immediately.
Written in Rust, it includes floating panes, preset layouts, browser support, and plugins—a terminal workspace with batteries included.
- Concept: Split the terminal into vertical/horizontal panes or tabs to work on several things at once.
- Features: Pane splitting, tabs, floating panes, saved layouts, session persistence, and plugins.
- Strength: No need to memorize keys—the bottom status bar and
Ctrl+Hhelp are always available. - Use when: You SSH into a server and want an editor, logs, and monitoring visible together.
Basic Usage
When you run zellij a session starts and the currently available shortcuts are always shown at the bottom of the screen.
1. Start / re-attach sessions
A named session keeps running even if your SSH connection drops.
zellij # start a new session
zellij attach --create work # re-attach (create if missing)
zellij list-sessions # list sessions
2. Split and move
Split the screen and move between panes.
Ctrl+P # open the command palette
Ctrl+N # new pane
Ctrl+T # new tab
Alt+arrows # move between panes
3. Save and quit
Leave without losing work, or quit fully.
Ctrl+Q # quit zellij (session persists)
Ctrl+D # close current pane
Installation & Download
zellij installs via cargo, a prebuilt binary, or a package manager.
| Environment | Command |
|---|---|
| cargo | cargo binstall zellij (or cargo install zellij) |
| Release binary | github.com/zellij-org/zellij/releases |
| Ubuntu/Debian (if packaged) | sudo apt install zellij |
| macOS (Homebrew) | brew install zellij |
Verify with zellij --version and run with zellij. Press Ctrl+H at any time for the in-app help.
Common Shortcuts
| Command / Key | Description |
|---|---|
Ctrl+P | Open the command palette to search and run actions |
Ctrl+N | Split the current pane vertically into a new pane |
Ctrl+T | Create a new tab |
Alt+arrows | Move between panes |
Ctrl+Q | Quit zellij (the session is kept) |
3 Essential Command Combinations
zellij attach --create work— Create a work session and re-attach anytimezellij list-sessions— Check live sessionszellij run -- cmd— Run an external command inside the zellij session
💬 "Using zellij on a real server"
A step-by-step look at splitting the screen while working over SSH.
Step 1 · Create a session
Make a named work session.
zellij attach --create deploy
Step 2 · Split the screen
Logs on the left, editor on the right.
# After Ctrl+N to split
# One pane: tail -f /var/log/nginx/error.log
# Other pane: vi config.yaml
Step 3 · Persist and re-attach
Leave and come back later.
zellij list-sessions
zellij attach deploy
How it is used in practice
1. Logs and editor side by side
Situation — Watch logs and edit config during a deploy.
zellij attach --create deploy
Result — One pane tails logs while the other shows the editor.
Point — Keep status in view without tab-switching for faster response.
2. Keep work across disconnects
Situation — Do not lose work when SSH drops.
zellij attach --create longjob
Result — Start a long job, leave, and re-attach to find it still running.
Point — Safe for long builds and deploys on flaky networks.
Caveats
- Default keys differ from tmux at first—use the bottom status bar and
Ctrl+Hhelp while learning. - If session names collide you attach to the existing one; check with
list-sessionsfirst. - Plugins and layouts need extra setup and work most reliably in standard terminals.