zsh-abbr Legacy release 4.x

TIP

These are the legacy v4 docs. For other versions, use the links in the header dropdown.

zsh-abbr is the zsh manager for auto-expanding abbreviations - text that when written in a terminal is replaced with other (typically longer) text. Inspired by fish shell.

For example, a frequently-run command like git checkout can be abbreviated to gco (or even co or c or anything else). Type Space after an abbreviation to expand it. Type Enter after an abbreviation to expand it and run the expansion. To prevent expansion, add Ctrl (CtrlSpace / CtrlEnter) or add a delimiter like ; after the abbreviation.

Like zsh's alias, zsh-abbr supports "regular" (i.e. command-position) and "global" (anywhere on the line) abbreviations. Like fish's abbr, zsh-abbr supports interactive creation of persistent abbreviations that are immediately available in all terminal sessions.

Run abbr help for documentation; if the package is installed with Homebrew, man abbr is also available.

Essential commands

# Add and use an abbreviation % abbr gc="git checkout" % gc[Space] # space expands this to `git checkout ` % abbr gcm="git checkout main" % gcm[Enter] # enter expands this to `git checkout main` and then accepts Switched to branch 'main' Your branch is up to date with 'origin/main'. %  # Abbreviations are immediately available to all current and future sessions % source ~/.zshrc % gc[Space] # expands to `git checkout`  # Add a session-specific abbreviation % abbr -S x="git checkout" % x[Space] # expands to `git checkout ` % source ~/.zshrc % x[Space] # but only in the session it was created in  # Erase an abbreviation % abbr -e gc % gc[Space] # no expansion  # Add a global abbreviation % abbr -g g=git % echo global && g[Space] # expands to `echo global && git `  # Rename an abbreviation % abbr -r gcm cm % gcm[Space] # does not expand % cm[Space] # expands to `git checkout main `  # Make the switch from aliases % abbr import-aliases % abbr import-git-aliases