After using ZSH for a couple of years, I decided to switch back to the Fish shell. Fish works out of the box, batteries included, and the basic installation provides all the features I expect from a shell environment.

For over 20 years, I have been using Unix-based systems, including SCO Unix, Solaris, and BSDi. I have been using Linux since 1996, and Slackware was the first Linux distribution I used, and now I’m a happy Fedora user. My journey led me to discover different shells, csh, ksh, and bash being the most common.

Some important things for me are: - Auto suggestions - Syntax highlighting - Prompt for VCS like Git - Strong scripting framework

ZSH has all these features, but it doesn’t work right out of the box. You need OMZ and plugins to use these features and more. I wrote a blog post showing my ZSH setup.

The only problem with Fish is the learning curve for its scripting system and some minor commands, like set to change environment variables instead of using export. If you are a regular user of bash or ZSH, you may need some time to get used to the Fish syntax. I actually like it, and I’ve created many functions on Fish to automate some of my repetitive tasks.

This is one of the greatest advantages of open source, as it offers a variety of options for shell, desktop, programming languages, etc. You can try different things and learn new tools without being tied. If you get bored, just change!