fisher/README.md
2016-05-26 22:18:07 +04:30

3.5 KiB

Build Status Slack

fisherman

A plugin manager for fish.

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

Install

Manually

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

With brew

brew tap fisherman/tap
brew install fisherman

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 some 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

What is the required fish version?

>=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

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

Yes.

What is a fishfile and how do I use it?

The fishfile ~/.config/fish/fishfile lists what plugins you've installed.

This file is updated automatically as you install / remove plugins. You can also edit this file and run fisher to commit changes.

This mechanism only installs plugins and missing dependencies. To remove plugins, use fisher rm.

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, i.e, a fish_prompt.fish, fish_right_prompt.fish or both files

  3. a snippet, i.e, one or more .fish files inside a directory named conf.d, evaluated by fish at the start of the session

How can I list plugins as dependencies to my plugin?

Create a new fishfile file at the root level of your project and write the plugin URL such as github.com/owner/repo.