Zellij
A Zellij setup with automatic theme integration, a rich status bar, fuzzy finding, and pane bookmarks.
Theme integration
Section titled “Theme integration”Running theme-switch with Catppuccin, Tokyo Night, or Nord automatically updates the Zellij layout and status bar colors.
Plugins
Section titled “Plugins”| Plugin | What it does |
|---|---|
| Zjstatus | Status bar with git branch, time, and mode indicator |
| Monocle | Fuzzy finder for panes and tabs (Ctrl+q then f) |
| Harpoon | Pane bookmark manager (Ctrl+q then b) |
Keybindings
Section titled “Keybindings”Prefix key is Ctrl+q.
Without prefix
Section titled “Without prefix”| Key | Action |
|---|---|
Ctrl+1-5 | Switch to tab 1-5 |
Prefix mode (Ctrl+q then)
Section titled “Prefix mode (Ctrl+q then)”| Key | Action |
|---|---|
h/j/k/l | Move focus between panes |
H/J/K/L | Resize pane |
Tab / Shift+Tab | Next / Previous tab |
t | New tab |
\ | Split right |
- | Split down |
x | Close pane |
z | Toggle fullscreen |
w | Toggle floating panes |
e | Toggle embed/float |
[ | Scroll/copy mode |
d | Detach |
Plugin shortcuts
Section titled “Plugin shortcuts”| Key | Plugin | What it does |
|---|---|---|
f | Monocle | Search and jump to panes/tabs |
b | Harpoon | Switch between bookmarked panes |
Harpoon controls
Section titled “Harpoon controls”| Key | Action |
|---|---|
a | Add current pane to bookmarks |
j/k or ↑/↓ | Navigate list |
Enter | Jump to selected pane |
d | Remove bookmark |
Esc | Close |
Requires Zellij 0.38.0+ and the wasm32-wasip1 Rust target.
rustup target add wasm32-wasip1Plugins are downloaded automatically. To manually rebuild Harpoon:
git clone https://github.com/Nacho114/harpoon.git /tmp/harpooncd /tmp/harpooncargo build --release --target wasm32-wasip1cp target/wasm32-wasip1/release/harpoon.wasm ~/.config/zellij/plugins/File layout
Section titled “File layout”~/.config/zellij/├── config.kdl # Main config├── layouts/│ ├── catppuccin.kdl # Catppuccin theme│ ├── tokyonight.kdl # Tokyo Night theme│ ├── nord.kdl # Nord theme│ └── default.kdl # Symlink to active theme└── plugins/ ├── zjstatus.wasm # Status bar ├── monocle.wasm # Fuzzy finder └── harpoon.wasm # Pane managementStatus bar
Section titled “Status bar”Shows mode indicator (colored background), session name, git branch (refreshes every 10s), date/time (Asia/Tokyo), notification alerts, and tab numbers with icons.
Troubleshooting
Section titled “Troubleshooting”Plugins won’t load
Section titled “Plugins won’t load”- Check version:
zellij --version - Rebuild plugins from source
- Clear cache:
rm -rf ~/.cache/zellij/
Theme not applying
Section titled “Theme not applying”- Check permissions:
ls -la ~/.config/zellij/layouts/ - Restart sessions:
zellij kill-all-sessions - Verify script:
which theme-switch
Harpoon crashes
Section titled “Harpoon crashes”- Make sure
wasm32-wasip1target is installed - Rebuild from source
- Check that config has
move_to_focused_tab true
Customization
Section titled “Customization”Adding themes
Section titled “Adding themes”- Create
layouts/theme-name.kdl - Add the theme to
theme-switch - Follow the color pattern from existing themes
Changing keybindings
Section titled “Changing keybindings”Edit config.kdl:
bind "Your Key" { LaunchOrFocusPlugin "file:~/.config/zellij/plugins/plugin.wasm" { floating true } SwitchToMode "normal"}