Skip to content

Fish Shell

Fish (Friendly Interactive SHell) is a smart, user-friendly shell with autosuggestions, syntax highlighting, and tab completions out of the box, no plugins or configuration required to get a great experience.

Install

Install on Arch Linux
pacman -S fish
Install on Debian/Ubuntu
apt install fish

Set fish as your default shell:

Set fish as default shell
chsh -s /usr/bin/fish

Config

Fish config lives in ~/.config/fish/config.fish. Unlike bash/zsh, fish uses its own syntax, no need to source files or export variables the traditional way.

~/.config/fish/config.fish
if status is-interactive
    # Commands to run in interactive sessions can go here
end

set PATH $PATH ~/.local/bin

Fisher

Fisher is the go-to plugin manager for fish. Lightweight and fast, plugins are installed directly from GitHub.

Install Fisher on Arch Linux
pacman -S fisher
Install Fisher on other systems
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher

Installed plugins are tracked in ~/.config/fish/fish_plugins and can be restored with fisher update.

jorgebucaran/fisher

Tide

Tide is a fast, feature-rich prompt for fish, the fish-native alternative to Starship. It configures itself interactively and shows git status, language versions, command duration, and more.

Install Tide via Fisher
fisher install ilancosman/tide@v6

Run the interactive setup wizard:

Configure Tide
tide configure

The wizard walks through style, prompt items, and colors, no manual config editing needed.

ilancosman/tide

Zoxide

Zoxide is a smarter cd replacement that tracks your most frequently and recently visited directories. Type z foo instead of cd ~/some/long/path/to/foo.

Install on Arch Linux
pacman -S zoxide
Install on Debian/Ubuntu
apt install zoxide

Add the fish integration to your config:

~/.config/fish/config.fish
zoxide init fish | source

Basic usage:

  • z foo: jump to the most frecent directory matching foo
  • z foo bar: match multiple keywords
  • zi foo: interactive fuzzy picker (requires fzf)
  • z -: jump to the previous directory

Zoxide learns from your cd usage over time, so the more you use it the better it gets at predicting where you want to go.

ajeetdsouza/zoxide