A plugin manager for fish.
Translations: 日本語, 简体中文, 한국어, Русский, Català, Português, Español.
-
Zero configuration
-
No external dependencies
-
No impact on shell startup time
-
Only the essentials, install, update, remove, list and help
curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisherman
Install a plugin.
fisher simple
Install from multiple sources.
fisher z fzf edc/bass omf/tab
Install a gist.
fisher https://gist.github.com/username/1f40e1c6e0551b2666b2
Install a local directory.
fisher ~/plugin
Edit your fishfile and run fisher
to satisfy changes.
$EDITOR ~/.config/fish/fishfile
fisher
List what you've installed.
fisher ls
@ plugin # a local directory
* simple # the current prompt
bass
fzf
tab
z
List everything that's available.
fisher ls-remote
Update everything.
fisher up
Update some plugins.
fisher up bass z fzf
Remove plugins.
fisher rm simple
Remove all the plugins.
fisher ls | fisher rm
Get help.
fisher help z
Uninstall fisherman.
fisher self-uninstall
>=2.2.0.
For snippet support, upgrade to >=2.3.0 or append the following code to your ~/.config/fish/config.fish.
for file in ~/.config/fish/conf.d/*.fish
source $file
end
Yes.
The cache and configuration go in ~/.cache/fisherman and ~/.config/fisherman respectively.
The fishfile is saved to ~/.config/fish/fishfile.
The fishfile ~/.config/fish/fishfile lists all the installed plugins.
You can let fisherman take care of this file for you automatically, or write in the plugins you want and run fisher
to satisfy the changes.
This mechanism only installs plugins and missing dependencies. To remove plugins, use fisher rm
.
A plugin is:
-
a directory or git repo with one or more .fish functions either at the root level of the project or inside a functions directory
-
a theme or prompt, i.e, a fish_prompt.fish, fish_right_prompt.fish or both files
-
a snippet, i.e, one or more .fish files inside a directory named conf.d, evaluated by fish at the start of the session
Create a new fishfile file at the root level of your project and write in the plugins you'd like to depend on.