LinuxCommandLibrary

fisher

Manage and install fish shell packages

TLDR

Install one or more plugins

$ fisher [plugin1] [plugin2]
copy

Install a plugin from a GitHub gist
$ fisher [gist_url]
copy

Edit 'fishfile' manually with your favorite editor and install multiple plugins
$ [editor] ~/.config/fish/fishfile; fisher
copy

List installed plugins
$ fisher ls
copy

Update plugins
$ fisher update
copy

Remove one or more plugins
$ fisher remove [plugin1] [plugin2]
copy

SYNOPSIS

fisher command [options] [arguments]
fisher install [plugins...]
fisher update [plugins...]
fisher remove [plugins...]
fisher list
fisher version
fisher help [command]

PARAMETERS

install
    Installs one or more Fisher plugins, functions, or themes. Plugins can be specified by their Git repository URL or a short name (e.g., 'jorgebucaran/nvm.fish').

update
    Updates all installed plugins to their latest versions. If specific plugins are provided, only those will be updated.

remove
    Removes one or more installed Fisher plugins from your Fish shell environment.

list
    Displays a list of all currently installed Fisher plugins and their sources.

version
    Shows the current version of the Fisher plugin manager.

help
    Provides detailed help information about Fisher or a specific Fisher subcommand.

--help
    Displays general help for the fisher command or a specific subcommand's usage.

--version
    Displays the Fisher version (similar to fisher version).

DESCRIPTION

fisher is a powerful and lightweight plugin manager specifically designed for the Fish shell. It simplifies the process of installing, updating, and managing plugins, functions, and themes within your Fish shell environment. Unlike traditional system package managers, Fisher focuses solely on the Fish shell ecosystem, providing a streamlined experience for extending its functionality. It allows users to effortlessly discover and integrate community-contributed components, enhancing productivity and customization. Fisher works by sourcing configuration files and managing plugin directories, ensuring that your shell remains organized and performant. Its intuitive command-line interface makes it accessible for both new and experienced Fish shell users, enabling them to quickly set up and maintain a personalized shell experience.

CAVEATS

fisher is not a standard system utility found in most Linux distributions by default. It is specifically a plugin manager for the Fish shell and requires the Fish shell to be installed and used as your primary shell. Its functionality is entirely confined to managing components within the Fish shell environment and does not interact with system-wide packages or other shell environments like Bash or Zsh. Installation typically involves an internet connection to fetch plugins from Git repositories.

INSTALLATION

To install fisher, you typically use curl:
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source
This command downloads the fisher.fish script and sources it directly into your current Fish shell session, making fisher immediately available. For persistent installation, it usually sets itself up in your Fish configuration directory automatically.

PLUGIN ECOSYSTEM

Fisher integrates with a vast ecosystem of community-contributed plugins, functions, and themes. These can be found on GitHub and are easily installable using the fisher install command, often just by providing the repository owner/name (e.g., fisher install jorgebucaran/fisher-themes). This decentralized approach allows for rapid development and sharing of Fish shell enhancements among users.

HISTORY

Fisher was created by Jorge Bucaran (jorgebucaran) to provide a lightweight and fast alternative to other Fish shell framework managers like Oh My Fish (OMF). It was designed with a focus on simplicity, speed, and minimalism, aiming to avoid the overhead often associated with larger frameworks. Its development began around 2015-2016, gaining popularity within the Fish shell community for its efficient plugin management capabilities. It continues to be actively maintained, adapting to new Fish shell features and community needs, solidifying its position as a go-to tool for customizing the Fish shell experience.

SEE ALSO

fish(1), git(1), curl(1)

Copied to clipboard