docs/MANPAGE.md
zellij - run zellij
Zellij is a workspace aimed at developers, ops-oriented people and anyone who loves the terminal. At its core, it is a terminal multiplexer (similar to tmux and screen), but this is merely its infrastructure layer.
Zellij includes a layout system, and a plugin system allowing one to create plugins in any language that compiles to WebAssembly.
To list currently running sessions run: zellij list-sessions
To attach to a currently running session run: zellij attach [session-name]
Run zellij --help to see available flags and subcommamds.
Zellij looks for configuration file in the following order:
Run zellij setup --check in order to see possible issues with the
configuration.
Layouts are yaml files which Zellij can load on startup when --layout flag is
provided.
By default Zellij will load a layout called default.yaml,
but this can be changed by using the default_layout: [LAYOUT_NAME] configuration option.
For example a file like this:
---
direction: Vertical
parts:
- direction: Horizontal
split_size:
Percent: 50
parts:
- direction: Vertical
split_size:
Percent: 50
- direction: Vertical
split_size:
Percent: 50
- direction: Horizontal
split_size:
Percent: 50
will tell Zellij to create this layout:
┌─────┬─────┐
│ │ │
├─────┤ │
│ │ │
└─────┴─────┘
A layout file is a nested tree structure. Each node describes either a pane (leaf), or a space in which its parts (children) will be created.
Each node has following fields:
"#00e000")."#001a3a").Zellij comes with a default set of keybindings which aims to fit as many users as possible but that behaviour can be overridden or modified in user configuration files. The information about bindings is available in the keybinds section of configuration. For example, to introduce a keybinding that will create a new tab and go to tab 1 after pressing 'c' one can write:
keybinds:
normal:
- action: [ NewTab, GoToTab: 1,]
key: [ Char: 'c',]
where "normal" stands for a mode name (see MODES section), "action" part specifies the actions to be executed by Zellij (see ACTIONS section) and "key" is used to list keys or key combinations bound to given actions (see KEYS).
The default keybinds can be unbound either for a specific mode, or for every mode.
It supports either a list of keybinds, or a bool indicating that every keybind
should be unbound:
keybinds:
unbind: true
Will unbind every default binding.
keybinds:
unbind: [ Ctrl: 'p']
Will unbind every default ^P binding for each mode.
keybinds:
normal:
- unbind: true
Will unbind every default keybind for the normal mode.
keybinds:
normal:
- unbind: [ Alt: 'n', Ctrl: 'g']
Will unbind every default keybind for n and ^g for the normal mode.
Alt key as modifier.Ctrl key as modifier.F keys (usually at the top of the keyboard).A color theme can be defined either in truecolor, 256 or hex color format. Truecolor:
fg: [0, 0, 0]
256:
fg: 0
Hex color:
fg: "#000000"
bg: "#000"
The color theme can be specified in the following way:
themes:
default:
fg: [0,0,0]
bg: [0,0,0]
black: [0,0,0]
red: [0,0,0]
green: [0,0,0]
yellow: [0,0,0]
blue: [0,0,0]
magenta: [0,0,0]
cyan: [0,0,0]
white: [0,0,0]
orange: [0,0,0]
If the theme is called default, then zellij will pick it on startup.
To specify a different theme, run zellij with:
zellij options --theme [NAME]
or put the name in the configuration file with theme: [NAME].
Zellij has a plugin system based on WebAssembly. Any language that can run on WASI can be used to develop a plugin. To load a plugin include it in a layout file. Zellij comes with default plugins included: status-bar, strider, tab-bar.
Default user configuration directory location:
Default user layout directory location:
layouts inside of the configuration directory.Default plugin directory location:
ZELLIJ_CONFIG_FILE Path of Zellij config to load. ZELLIJ_CONFIG_DIR Path of the Zellij config directory.
The manpage is meant to provide concise offline reference. For more detailed instructions please visit: