Did I just downgrade my shell?
I've lived in a shell for the last 40 years or so, always with a terminal window open.
Changing shells always felt like an upgrade: from sh to ksh, to csh, to tcsh, to bash, to zsh. I used Oh My Zsh for a while but found it slow and bloated, so I wrote my own .zshrc. That was better, but still required regular tweaking.
Recently, I started trying fish. I can't recall exactly why—something I read must've piqued my interest.
No .fishrc? Definitely a downgrade. My zsh configuration was sizeable, with lots of customization, functions, and aliases. I wasn't looking forward to reimplementing most of it.
Then I actually started using fish…
“Oh, it already does that!” became my mantra for the day.
After a few days, I realized it did 99% of what I needed out of the box. I only had to configure the prompt, add a few aliases and abbreviations, and convert a whopping 4 functions.
I also installed fisher, a plugin manager, along with these plugins:
I tried hard to find more things to configure or install, but that was it. If that's what minimalism looks like, sign me up.
Then the real fun began…
I wanted to convert some of my regular shell scripts to fish scripts. Fish syntax is different but in a good way. It doesn't feel as hackish as bash, though there's a small learning curve.
This was the final test: convert my most intricate script. I thought it would fail miserably, sending me back to clunky zsh.
It didn't. It wasn't easy, but it was a valuable learning experience. Change is good, right?
Is there anything I miss from zsh? Yes and no. I'm not missing functionality, but I have to unlearn some ingrained habits.
Who said you can't teach old dogs new tricks?