⚙️ Zi Console
z-shell/zi-console
A console for Zi – based on the zsh/zcurses Zshell module allows the user to:
- View the currently loaded plugins in a colorful list, in one of 3 different display modes.
- Unload and load plugins.
- Delete the plugins and snippets from the disk.
Zi Console keybindings
Start the console by Ctrl-O Ctrl-J keyboard shortcut, or by running ziconsole function in the shell.
| Key(s) | Description |
|---|---|
| Ctrl-U ,Ctrl-D | Half page up; half page down |
| Ctrl-P ,Ctrl-N | Previous line, centered; next line, centered |
| Ctrl-L | Redraw of whole display |
| [ , ] | Jump to next and previous section (e.g.: next plugin or snippet) |
| g , G | Jump to beginning and end of whole interface |
| < ,> or { ,} | Horizontal scroll (i.e.: left or right) |
| / | Show incremental search |
| F1 | Jump to result (in incremental search) and back |
| Esc | Exit incremental search, clearing query |
| Ctrl-W | Delete whole word (in incremental search) |
| Ctrl-K | Delete whole line (in incremental search) |
Zi Console preview
Install Zi Console
Prerequisites: ZUI library.
- Standard
- Turbo mode
Standard syntax:
zi load z-shell/zi-console
with use of turbo mode and the for syntax:
zi wait lucid for z-shell/zi-console
The plugin needs the zsh/curses Zsh module. You can check if it's available to your Zsh by executing:
zmodload zsh/curses
If the call will return an error, then the zsh/curses module isn't available.
Build the zsh/curses module
You can build the zsh/curses-equipped Z shell with Zi by the following command:
zi ice id-as"zsh" atclone"./.preconfig CFLAGS='-I/usr/include -I/usr/local/include -g -O2 -Wall' \ LDFLAGS='-L/usr/lib -L/usr/local/lib' ./configure --prefix='$ZPFX'" \ atpull"%atclone" run-atpull make"install" pick"/dev/null"zi load zsh-users/zshThe command will build a custom zsh and install it under $ZPFX (~/.zi/polaris by default). The path $ZPFX/bin is already added to $PATH by Zi at the first position, so starting zsh will run the new Z shell.
When on Gentoo, and possibly other systems, the zsh can still not have the ncurses library linked. To address this, utilize the z-a-patch-dl annex and automatically patch the source first:
zi light z-shell/z-a-patch-dlzi ice id-as"zsh" atclone"./.preconfig CFLAGS='-I/usr/include -I/usr/local/include -g -O2 -Wall' \ LDFLAGS='-L/usr/lib -L/usr/local/lib' ./configure --prefix='$ZPFX'" \ dl"https://gist.githubusercontent.com/z-shell/2373494c71cb6d1529344a2ed1a64b03/raw -> curses.patch" \ patch'curses.patch' atpull"%atclone" reset \ run-atpull make"install" pick"/dev/null"zi load zsh-users/zshThen, to update, rebuild and reinstall the zsh, you can do zi update zsh. The binary can be safely copied over /bin/zsh as it has paths to all needed directories built-in.