Appearance
Prefixes
Out of the box, regular abbreviations (Types > Regular) expand only at the start of the command line.
Regular abbreviation prefixes are strings and globs that don't count against the "start of the line"-ness.
Learn more at Configuration variables.
Example
There is one regular abbreviation scalar prefix by default: the string sudo
. And there's one regular abbreviation glob prefix: the glob . Here's the difference those make:
Before zsh-abbr v6.0.0
shellabbr a=b a[Enter] # expands to `b` sudo a[Enter] # does not expand 😞 a[Enter] # does not expand 😞
Since zsh-abbr v6.0.0
shellabbr a=b a[Enter] # expands to `b` sudo a[Enter] # expands to `b` 🎉 a[Enter] # expands to `b` 🎉
Multiple prefixes
You can prefix a regular abbreviation with as many regular abbreviation prefixes as you like, and it will still expand.
Here's an example combining scalar (string or number) and glob prefixes:
shell
# .zshrc
ABBR_REGULAR_ABBREVIATION_SCALAR_PREFIXES+=( 'xyz ' )
ABBR_REGULAR_ABBREVIATION_GLOB_PREFIXES+=( '?.' )
shell
abbr a=b
e.xyz sudo a[SPACE] # expands to `e.xyz sudo bcd`
xyz e.sudo a[SPACE] # expands to `xyz e.sudo bcd`
xyz sudo e.a[SPACE] # expands to `xyz sudo e.bcd`