# Fish Shell - [Finally, a command line shell for the 91](https://fishshell.com/) - [Design Philosophy](https://fishshell.com/docs/current/design) - The variables setting works quite differently from bash, see [`set` - display and change shell variables](https://fishshell.com/docs/current/cmds/set) ## Plugins - [Oh My Fish](https://github.com/oh-my-fish/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](https://github.com/jorgebucaran/fisher) - More actively maintained. - Config file at `~/.config/fish/fish_plugins`. - [`awsm.fish`](https://github.com/jorgebucaran/awsm.fish), maintained by the author of Fisher, a collection of resoures for Fish. - [`fzf.fish`](https://github.com/PatrickF1/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`](https://github.com/jorgebucaran/nvm.fish), a Fish port of the NVM.sh [[node|Node.js]] version manager. - [Sponge](https://github.com/meaningful-ooo/sponge), automatically cleans commands that failed and have never appeared in history. (to clean typos) - [`autopair.fish`](https://github.com/jorgebucaran/autopair.fish)