It's amazing, that for 14 years I used only the bash shell in terminal. It worked, I never had a big problem with it, I saw no problem to change it.
Then come this October, my 14th anniversary, and I am using zsh. I have to say, I don't see the advantage of doing it. I used it for like 3 weeks, and I just don't understand it. OK, it has one advantages. Since bash is stuck in the past, and one of the devs categorically said that they don't use XDG directories (which is a Freedesktop standard, and all big project use it for their config, data, etc.), because "Linux is not the whole world". You can configure zsh to keep your stuff where it belongs. That's good.
At the time of when I switched to zsh, I also installed fish - another shell - just in case I want to check it out. And just yesterday I saw a video of DistroTube, where he talked about that if he would build his own distro, he would have use fish as shell. That made me qurious, and started to look at the fish website, then I watched DT's video about it. I checked out a few things via fishconfig, which was a pleasant surprise since it's a web interface for configuring fish, from directories, your prompt, color schemes, etc. You don't have to get dirty with config files. Looks very user friendly to me. Plus fish saves its things in the proper XDG directories. You don't even have to modify that (not like zsh).
What I need to set up now is my aliases, which I have a few, but not a hundred. I created a ~/.config/fish/config.fish file, where I just copied every alias that I had before. Pretty easy. As it turns out, you can just dump everything there.
I like about shells that you can just test it in a terminal emulator, and then when you are done, just return to your current shell.
Honestly I start to understand why DT wants fish as default for Linux. It's so easy to setup, I spent little time with it, yet it's functional, while honestly even zsh took me a while to configure, and then it didn't give me anything new. It's really time to move on. Maybe if distros move away, then bash people would wake up and change things? I am not an expert, please don't @ me, OK?
So far what I like in fish:
- colors for existing command
- it's faster than bash and zsh
- a friendly way to setup stuff, with some nice choices
- single config file for everything, and in one place
- Luke Smith doesn't like it, so you can finally separate yourself from him xd
I still have to configure some stuff, because it does thing differently compared to bash and zsh, but I will definitely use this as my default shell from now on.
Install it from terminal:
$ yay -S fish
And you are in. I recommend using fishconfig.
When you are done playing just:
And you are out of fish back to your default one.
This was for day 88 for #100DaysToOffload