Fish Shell

Commands/Caveats

The philosophy of Fish is eliminating bespoke syntax and use explicit commands, so…

  • Use math for math expansion
  • Use seq <n> for brace expansion with range.
  • Keybindings
    • Many emacs keybindings
    • Alt - l to list files in current dir.

Plugins

  • Oh My Fish
    • An all-in-one framework that comes with plugin manager, themes, and prompts, similar to Oh My Zsh.
    • Not so actively maintained.
    • Has its own config directory ~/.config/omf.
  • Fisher
    • More actively maintained.
    • Config file at ~/.config/fish/fish_plugins.
  • awsm.fish, maintained by the author of Fisher, a collection of resources for Fish.
  • fzf.fish, fuzzy search directories, variables, history, etc.
    • Ctrl+Alt+F - files and dirs (can Enter to cd into)
    • Ctrl+Alt+L - Git log
    • Ctrl+Alt+S - Git status
    • Ctrl+R - history
    • Ctrl+Alt-P - processes
    • Ctrl+V - variables
  • nvm.fish, a Fish port of the NVM.sh Node.js version manager.
  • Sponge, automatically cleans commands that failed and have never appeared in history. (to clean typos)
  • autopair.fish