⚙️ 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/zsh
The 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 patch-dl annex and automatically patch the source first:
zi light z-shell/z-a-patch-dl
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'" \
  dl"http://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/zsh
Then, 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.