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!