Files
oam/knowledge base/fish.md
2024-01-14 01:43:30 +01:00

1.8 KiB

FISH

The friendly interactive shell.

  1. TL;DR
  2. Configuration
  3. Prompt
  4. Further readings
  5. Sources

TL;DR

# Install the shell.
apt install 'fish'
brew install 'fish'
zypper install 'fish'

# Start `fish` sessions.
fish
fish -Pil

# Change one's default shell to `fish`.
chsh -s (which fish)      # from `fish`
chsh -s "$(which fish)"   # from `{ba,z}sh`

# Open the web-based configuration interface.
fish_config
fish_config browse

Configuration

Shell configuration file: ~/.config/fish/config.fish.
.fish scripts in ~/.config/fish/conf.d/ are automatically executed before config.fish.

Configuration files are read at startup of every session, whether the shell is interactive and/or login.
Use status --is-interactive and status --is-login to discriminate between interactive/login shells, respectively:

if status --is-login
  fish_add_path ~/bin
end

fish offers a web-based configuration interface. Open it executing fish_config.

Prompt

See Starship or Tide.

Further readings

Prompts:

Frameworks:

Sources

All the references in the further readings section, plus the following: