logoalt Hacker News

rukshnyesterday at 8:21 AM3 repliesview on HN

I switched to fish shell with star ship. Fish has autocomplete and syntax highlighting out of the box which is quite neat and the main features I use in omgzh so fish was a safe choice for me

https://ruky.me/moving-from-zsh-to-fish-nixos-darwin/


Replies

eddythompson80yesterday at 8:34 AM

Fish is also not POSIX which has always been its, and my, issue. I use zsh+starship and my own very minimal init stuff+zsh autocomplete and syntaxhighlihg plugins. It’s not a perfect setup. I wish fish would “just work” but it doesn’t. Frequently I had to look up for “workarounds” for my setup. 25 years in, I think I got it and i just keep my zshrc and `machine-init.sh` on point for my-own-style-experience. I think a lot of that could be simplified with fish+starship, but it’s just not there.

show 1 reply
GCUMstlyHarmlsyesterday at 8:59 AM

Yeah. I used zsh for decades, invested a reasonable amount of emotion and time in my config but swapped to fish last year as a sort of January trial and it stuck.

It's not perfect, the lack of HEREDOCs are annoying sometimes, and no background-able blocks (eg `{x}&`) means you can't async things as easily in scripts.

Zsh has a lot of advanced stuff (at least for a shell) that can deliver pretty complex scripting such as throw/catching, mountains of variable flags and switches which I do miss when I write fish scripts but really -- I've abused them a lot over the years and now days I would be more likely to just use a "builds to a single binary" language.

I will probably swap to nushell when it gets a bit more stable (in my experience it's runtime is stable, but it's feature set / command names are still shaking out. I really like it's general ideas though in terms operating on structured data.

9devyesterday at 8:26 AM

Also, you probably don’t need to customize it at all, it’s more than good enough out of the box.