A plugin manager for fish.
curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisher
Install a plugin.
Install some plugins.
fisher z fzf edc/bass omf/thefuck
Install a gist.
Install a local directory.
Edit your fishfile and run
fisher to commit changes.
$EDITOR ~/.config/fish/fishfile fisher
Show everything you've installed.
fisher ls @ plugin # a local plugin * mono # current theme bass fzf thefuck z
Show everything that's available.
Show additional information about available plugins:
fisher ls-remote --format="%name(%stars): %info [%url]\n"
fisher up bass z fzf
fisher rm thefuck
Remove all the plugins.
fisher ls | fisher rm
fisher help z
Is fisherman compatible with oh-my-fish themes and plugins?
Where does fisherman put stuff?
The configuration and cache are saved to ~/.config/fisherman and ~/.cache/fisherman respectively.
The fishfile and plugins are saved to ~/.config/fish by default.
To customize this location:
set -U fish_path ~/my/path
What is a fishfile and how do I use it?
The fishfile lists what you've installed, and it's automatically updated as you install / remove plugins.
If you prefer, you can edit this file and run
fisher to install missing plugins and dependencies.
What is a plugin?
A plugin is:
a directory with one or more .fish functions either at the root level of the project or inside a functions directory
a theme or prompt: a fish_prompt.fish and/or fish_right_prompt.fish
a snippet: one or more .fish files inside a directory named conf.d, run by fish at the start of the session
How can I list plugins as dependencies to my plugin?
Create a new fishfile at the root level of your project and write the plugin URL such as github.com/owner/repo.
Why am I receiving errors when running
You can export the GITHUB_USER and GITHUB_TOKEN environment variables in your shell, to prevent GitHub's search API from rejecting anonymous requests:
set -x GITHUB_USER your_username set -x GITHUB_TOKEN your_github_api_token_for_fisherman