That’s really neat! I personally use ZSH, but Fish is great too, and it’s always nice to see improvements!
Is there anyone that can help answer this? Why use Fish over say ZSH?
I’m a ZSH user, and every system I install one of the first tasks I always do is install ZSH and oh-my-zsh and make ZSH my default shell. However, if you were to ask me why ZSH over Bash, I honestly couldn’t give you a good answer outside of “oh-my-zsh themes look pretty”
In addition to the other replies, zsh gets unbearably slow once you start to actually use all it’s features. Fish is much faster in my experience. Although a lot of the differences disappear once you start using an external prompt like Starship.
Yeah admittedly I’ve never gone that deep with ZSH specific stuff. Laziness on my part for sure!
I’m glad I asked this question lol, it has got my interests piqued for Fish again!
Fish is setup out of the box while ZSH is minimal OOTB and can be extended with all sorts of themes, plugins, etc. They both offer syntax highlighting, tab completion, fuzzy search, as well as many other QoL features over bash. The main upside of ZSH is that it’s compatible with the same POSIX scripts bash supports, while fish uses their own scripting thing (that can be easier to read and simpler, yes, but you lose compatibility with a lot of existing scripts!)
In my opinion, I would say fish and ZSH are awesome for most people, while ZSH has the edge when if you use a lot of scripts, and fish is better if you don’t want to configure anything (though oh-my-zsh, which is very simple to install, puts ZSH nearly on par with stock fish)
Doesn’t the shebang at the top of a bash script negate that compatibility issue anyway?
I remember years ago a YouTuber (I think it was Distrotube) making that same point about Fish, and I had this same thought back then lol.
Although, the Fish scripting looks interesting. Might switch my default shell to Fish on my laptop for a bit, maybe I’m underestimating this lol
ensuring fish runs shell scripts properly is pretty trivial - it just runs them in the builtin shell and shows the results
i don’t do anything very special in the shell so fish’s usability features just make life easier
been using it since 3.x and have no complaints
Fish has more baked in solutions to problems I have in ZSH that require plugins and hacking to get working somewhat properly. Specifically, much better command completion, configuration, and flexibility. The cost is that it’s a little heavier out of the box. The rust rewrite they did actually improved that massively though and seems to have gone well.
Ah okay, thanks for the response!
I’ve heard of the better completion in the past, but when I tried Fish out I couldn’t tell a difference. I guess I’m not doing anything complex enough in a terminal to notice these issues though
I’m a less technical user and prefer the much friendlier and thoughtful user experience, but I don’t wanna have to tinker and edit configs and install extensions.
I know folks who do scripting also find it a more thoughtfully constructed scripting language for the fact is is not POSIX compliant.
There are tradeoffs, but there are upsides also :)
Yeah looking at this again with fresh and more matu… ahem experienced eyes, Fish seems very interesting, and frankly quite appealing!
Going to switch over on my laptop for a bit, see how I go with it over the course of a month or 2 before deciding on what to do with my main desktop.
How about better tab completion?
Nice! It is sometimes pretty slow






