Since ~2015 - wow, almost 10 years ago - I was using zsh + oh-my-zsh, and it was great. But after some years it was becoming show, and since I love to try new things I decided to explore new shell options.
TL/DR: I am using fish now. Why?
- It seems faster, at least in those first days / fresh install
- I was using oh-my-zsh mainly for aliases (e.g. git), but abbreviations are much better for history and share commands.
- Auto complete seems to works better + syntax highlight
- Functions (super easy syntax)
- All the things that I was using continue to work as expected (e.g. mise, zoxide, etc). No reason to not work, but worth to mention
- Saw others moving from zsh to fish, it seems a natural moving
- 11 reasons here
Super quick start
# Install fish on OSX
brew install fish
# Add it to possible terminals
code /etc/shells
# Manually add /opt/homebrew/bin/fish (ok, could do it with echo but choose not to)
# Change default terminal
chsh -s /opt/homebrew/bin/fish
# Have fun
Customizations
- I installed fisher to add extensions, but didn't find a need for it yet. Auto pair is the only one active
- fish-abbreviation-tips is great, but since switched aliases for abbreviations it doesn't make sense anymore.
- For themes and colors I was using starship. Decided to stick on it for now, configs here.
- Abbreviations! You can create it even for parameters and can edit the commands prior to execute.
Next
- Join reddit group
- Take a look on fisher plugins, github repos, etc
- Add a star in the fish-shell repo