Coder Social home page Coder Social logo

fisherman's Introduction

Build Status Slack

fisherman - fish shell plugin manager

fisherman is a zero-configuration, concurrent plugin manager for the fish shell.

Read this document in another language: Español, 日本語, 简体中文.

Why?

  • Simple

  • No configuration

  • No external dependencies

  • No impact on shell startup time

  • Use it interactively or a la vundle

  • Only the essentials, install, update, remove, list and help

Install

Copy fisher.fish into your ~/.config/fish/functions directory and that's it.

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

Usage

Install a plugin.

fisher simple

Install from multiple sources.

fisher z fzf omf/{grc,thefuck}

Install from a URL.

fisher https://github.com/edc/bass

Install from a gist.

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

Install from a local directory.

fisher ~/my_aliases

Use it a la vundle. Edit your fishfile and run fisher to satisfy changes.

What is a fishfile and how do I use it?

$EDITOR fishfile # add plugins
fisher

See what's installed.

fisher ls
@ my_aliases    # this plugin is a local directory
* simple        # this plugin is the current prompt
  bass
  fzf
  grc
  thefuck
  z

Update everything.

fisher up

Update some plugins.

fisher up bass z fzf thefuck

Remove plugins.

fisher rm simple

Remove all the plugins.

fisher ls | fisher rm

Get help.

fisher help z

FAQ

1. What fish version is required?

fisherman was built for the latest fish, but at least 2.2.0 is required. If you can't upgrade your build, append the following code to your ~/.config/fish/config.fish for snippet support.

for file in ~/.config/fish/conf.d/*.fish
    source $file
end

2. How do I install fish on OS X?

With Homebrew.

brew install fish

3. How do I install the latest fish on some Linux?

With git, from the source.

sudo apt-get -y install git gettext automake autoconf \
    ncurses-dev build-essential libncurses5-dev

git clone -q --depth 1 https://github.com/fish-shell/fish-shell
cd fish-shell
autoreconf && ./configure
make && sudo make install

4. How do I use fish as my default shell?

Add fish to the list of login shells in /etc/shells and make it your default shell.

echo "/usr/local/bin/fish" | sudo tee -a /etc/shells
chsh -s /usr/local/bin/fish

5. How do I uninstall fisherman?

Run

fisher self-uninstall

6. Is fisherman compatible with oh my fish themes and plugins?

Yes.

7. Why fisherman? Why not ____?

fisherman has / is:

  • small and fits in one file

  • zero impact on shell startup time

  • fast and easy to install, update and uninstall

  • no need to edit your fish configuration

  • correct usage of the XDG base directory spec

8. Where does fisherman put stuff?

fisherman goes in ~/.config/fish/functions/fisher.fish.

The cache and plugin configuration is created in ~/.cache/fisherman and ~/.config/fisherman respectively.

The fishfile is saved to ~/.config/fish/fishfile.

9. What is a fishfile and how do I use it?

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.

fisherman/simple
fisherman/z
omf/thefuck
omf/grc

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

10. Where can I find a list of fish plugins?

Browse the organization or use the online search to discover content.

11. How do I upgrade from ____?

fisherman does not interfere with any known frameworks. If you want to uninstall oh my fish, refer to their documentation.

12. What is a plugin?

A plugin is:

  1. a directory or git repo with a function .fish file 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 that are evaluated by fish at the start of the shell

13. How can I list plugins as dependencies to my plugin?

Create a new fishfile file at the root level of your project and write in the plugin dependencies.

owner/repo
https://github.com/dude/sweet
https://gist.github.com/bucaran/c256586044fea832e62f02bc6f6daf32

14. What about fundle?

fundle inspired me to use a bundle file, but it still has limited capabilities and requires you to modify your fish configuration.

15. I have a question or request not addressed here. Where should I put it?

Create a new ticket on the issue tracker:

fisherman's People

Contributors

detailyang avatar pickfire avatar jethrokuan avatar franciscolourenco avatar bretjohnson avatar daenney avatar simnalamburt avatar vividboarder avatar lilyball avatar sijad avatar

Watchers

Dominik Moritz avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.