description = "Developers are religious about two things: their editor and their shell. Many will say fish is the best there is, but after a few months of fish, I'm back to Zsh."
slug = "why-i-dropped-fish-in-favour-of-zsh"
+++
Developers are religious about two things: their editor and their shell.
After getting multiple recommendations from friends and co-workers I
gave [fish][1] a try. It lists several benefits over other shells, among
other there's autosuggetions, colour support and web based configuration.
Installing it on a Mac is easy with [Homebrew][2], so I figured why not
give it a fair try.
And yes, fish has its benefits. I used the web based configurator. Once.
The only feature that really stood out to me was the autosuggestions and
more notably the fact that fish will suggest commonly used commands based
on the directory you're currently in.
Still, the most annoying thing is that fish is not POSIX compatible.
Although I'm not a purist that insists on POSIX compatibility, it imposed
some practical limitations.
## Environment variables
The first and most annoying thing is environment variables. I'm not talking
about the globally set variables, but those you use to run a command once.