zi ice
Summary
Section titled “Summary”Attach ice modifiers to the immediately following zi command. Ice modifiers are one-shot options that melt after use — they apply to exactly one subsequent load, light, snippet, or update call.
Syntax / Usage
Section titled “Syntax / Usage”zi ice <ice-spec> [<ice-spec> ...]Multiple ices can be specified in a single call, separated by spaces. Ice values use the key"value" or key'value' quoting style (no = sign).
Details
Section titled “Details”Ice modifiers persist to disk in the plugin or snippet’s ._zinit/ subdirectory so they are reapplied on updates even when the plugin is not being reloaded interactively. They cover cloning options (depth, from, ver, proto), file selection (pick, src, multisrc), conditional loading (wait, if, has, load, unload), post-clone/update hooks (atclone, atpull, atload, atinit, make), output control (lucid, silent, notify), completion handling (blockf, nocompletions, as"completion"), and many more. See the Ice Modifiers reference for the full list.
Examples
Section titled “Examples”# Load after 1 second (Turbo mode), suppress "Loaded" messagezi ice wait"1" lucidzi load zsh-users/zsh-autosuggestions
# Clone only the latest commit, add to PATH as a programzi ice depth"1" as"program" pick"bin/fzf"zi light junegunn/fzf
# Run make after clone and pullzi ice make"install PREFIX=$ZPFX"zi light tj/git-extras
# Combination of multiple ices in one callzi ice from"gh-r" as"program" mv"docker* -> docker-compose" bpick"*linux*"zi load docker/composeCaveats / Common Mistakes
Section titled “Caveats / Common Mistakes”Each zi ice call is consumed by the very next zi command. If you add another line between zi ice and the load command, the ice is lost. Do not use = between key and value — use key"value" style.
See Also
Section titled “See Also”- cmd-load
- cmd-light
- cmd-snippet
- cmd-recall