A plugin manager for fish http://fisherman.sh
Shell
Latest commit d717559 Aug 19, 2016 @pwwang pwwang committed on GitHub Merge pull request #325 from msglight4874/master
Thanks!
Permalink
Failed to load latest commit information.
.travis.yml Fix install link in .travis.yml. May 31, 2016
LICENSE Create LICENSE May 27, 2016
README.md Add traditional chinese to wiki Aug 19, 2016
fisher.fish 2.10.0 Jun 2, 2016

README.md

Build Status Slack

fisherman

A plugin manager for fish.

Translations: 日本語, 繁體中文, 简体中文, 한국어, Русский, Português, Español, Català, Deutsch, فارسی.

Install

curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs git.io/fisher

Usage

Install a plugin.

fisher mono

Install some plugins.

fisher z fzf edc/bass omf/thefuck

Install a gist.

fisher https://gist.github.com/username/1f40e1c6e0551b2666b2

Install a local directory.

fisher ~/my/plugin

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.

fisher ls-remote

Update everything.

fisher up

Update plugins.

fisher up bass z fzf

Remove plugins.

fisher rm thefuck

Remove all the plugins.

fisher ls | fisher rm

Get help.

fisher help z

FAQ

Is fisherman compatible with oh-my-fish themes and plugins?

Yes.

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:

  1. a directory or git repo with one or more .fish functions either at the root level of the project or inside a functions directory

  2. a theme or prompt: a fish_prompt.fish and/or fish_right_prompt.fish

  3. 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 fisher ls-remote?

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