mirror of
https://github.com/ohmyzsh/ohmyzsh.git
synced 2026-01-30 02:44:42 +01:00
Being new to ohmyzsh it wasn't immediately obvious to me what this plugin did or how to use it. I've added some examples to hopefully make it more obvious to future readers. |
||
|---|---|---|
| .. | ||
| tests | ||
| .zunit.yml | ||
| alias-finder.plugin.zsh | ||
| README.md | ||
alias-finder plugin
This plugin searches the defined aliases and outputs any that match the command inputted. This makes learning new aliases easier.
Setup
To use it, add alias-finder to the plugins array of your zshrc file:
plugins=(... alias-finder)
To enable it for every single command, set zstyle in your ~/.zshrc.
# ~/.zshrc
zstyle ':omz:plugins:alias-finder' autoload yes # disabled by default
zstyle ':omz:plugins:alias-finder' longer yes # disabled by default
zstyle ':omz:plugins:alias-finder' exact yes # disabled by default
zstyle ':omz:plugins:alias-finder' cheaper yes # disabled by default
As you can see, options are also available with zstyle.
Usage
When you execute a command alias finder will look at your defined aliases and suggest shorter aliases you could have used, for example:
Running the un-aliased git status command:
╭─tim@fox ~/repo/gitopolis ‹main›
╰─$ git status
gst='git status' # <=== shorter suggestion from alias-finder
On branch main
Your branch is up-to-date with 'origin/main'.
nothing to commit, working tree clean
Running a shorter git st alias from .gitconfig that it suggested :
╭─tim@fox ~/repo/gitopolis ‹main›
╰─$ git st
gs='git st' # <=== shorter suggestion from alias-finder
## main...origin/main
Running the shortest gs shell alias that it found:
╭─tim@fox ~/repo/gitopolis ‹main›
╰─$ gs
# <=== no suggestions alias-finder because this is the shortest
## main...origin/main
Options
In order to clarify, let's say
alias a=abchas source 'abc' and destination 'a'.
- Use
--longeror-lto include aliases where the source is longer than the input (in other words, the source could contain the whole input). - Use
--exactor-eto avoid aliases where the source is shorter than the input (in other words, the source must be the same with the input). - Use
--cheaperor-cto avoid aliases where the destination is longer than the input (in other words, the destination must be the shorter than the input).