I switched to fish shell
Here, I am putting down my reasons to choose
fish shell for my future self.
All I want is a shell that is
- a first-class citizen on macOS and Linux
- low maintenance, which means
- out-of-the-box or low-configuration autocompletion and fuzzy history search
- adequately supported by third-party tools
I don't use shell much beyond that.
I also don't care much about scripting compabilities as I have never had to share scripts with others. Also, I prefer to write my scripts in typed, FP languages like Scala.
fish checks all those boxes.
bash is anything but first-class on macOS now.
zsh is powerful, and comes with a lot of bells and whistles, most of them do not come out-of-the-box. I need to lug around a few packages (like
zsh-completions) and a lot of configuration. I also need to maintain configuration for
fzf for fuzzy search.
At the very least, I will stop worrying and wasting time in maintaining parity between bash and zsh configs.