I've been using the
zsh terminal with the infamous oh-my-zsh framework for many years now. The features and improvements it makes on plain old bash are impressive. But as my needs change, so does my shell. I made the switch to the
fish shell almost a year ago and here is why I switched.
fish is faster than
zsh. Especially when using
zsh plugins the loading time alone is significantly slower. But more than that, the overall experience for me feels snappier and more responsive in the
fish shell. Since I'm using the terminal to be more efficient and get things done faster than a GUI, speed is one of my top requirements for my shell.
The oh-my-zsh configuration and plugins tend to add complexity to the terminal environment, especially custom aliases. Overall, I have found
fish to be much simpler regarding configuration and usage. My config file is only a few lines long and I'm only using one or two plugins for third party utilities (ex:
nvm). I also found a very simple theme that only shows me what I need, similar to my previous
This is the main reason I moved to
fish. I originally was using the zsh-autosuggestions which is "Fish-like autosuggestions for zsh". This is what drew me to fish, this is by far my most used feature. If I mistype a command, it will show in red to indicate that it's an invalid command. But, more importantly, while I type the prompt auto-suggests my previous commands (by recent and most used). This is far quicker than
ctrl+r and usually shows me the command I want 80%+ of the time. Again, this is the main reason I use
fish and one of my favorite productivity tools on my computer, period.
I've been a vim user for many years now. What I love about vim is it's intuitiveness and efficiency (once you've really gotten it down). I know
zsh offers a vim-mode but I was happy to learn
fish has one as well. It a sort of simplified
vi hybrid but it does all I need it to do.
fish is fast, simple, offers powerful autosuggestion and a vim mode. These are the most important thing for me right now in the terminal so I proudly made the switch to this friendly interactive shell and haven't looked back.
What shell are you using? Do you love
fish as much as me or found something better? Let me know in the comments!