For a long time I used a super customized zsh setup. It was, unfortunately, crazy slow and regularly broke on updates. It had precisely all the features and behavior I wanted though. Like you say, zsh is very customizable.
Then I switched to tiling window managers and with that to the alacritty terminal. This made me value start up times and performance, as I was constantly opening and closing terminals. So I spent a ridiculous amount of time optimizing my zsh config to be as fast as possible. This is also what I used for a long time before correcting my ways.
When that device, my work laptop, failed, I had to set up my desktop for work. This involved setting up zsh, which I quickly realized was a lot of work. So, on a whim, I installed fish.
Oh my god. Not only did fish have nearly all the features I wanted out of the box, but it was easy to add plugins (customizations) in a performant way. Fish even had default behavior I didn’t know I needed. And most importantly: it was crazy fast!
Since then I have never left fish. It is so much better than anything I had imagined. At this point I use way more default features as well, so I pretty much only add the tide prompt and zoxide. I also have a functions and abbreviations folder which is essentially my zsh alias collection.
The crazy part is really how much faster it is though. I really, really love it. And now they’re rewriting it in Rust as well!
For a long time I used a super customized zsh setup. It was, unfortunately, crazy slow and regularly broke on updates. It had precisely all the features and behavior I wanted though. Like you say, zsh is very customizable.
Then I switched to tiling window managers and with that to the alacritty terminal. This made me value start up times and performance, as I was constantly opening and closing terminals. So I spent a ridiculous amount of time optimizing my zsh config to be as fast as possible. This is also what I used for a long time before correcting my ways.
When that device, my work laptop, failed, I had to set up my desktop for work. This involved setting up zsh, which I quickly realized was a lot of work. So, on a whim, I installed fish.
Oh my god. Not only did fish have nearly all the features I wanted out of the box, but it was easy to add plugins (customizations) in a performant way. Fish even had default behavior I didn’t know I needed. And most importantly: it was crazy fast!
Since then I have never left fish. It is so much better than anything I had imagined. At this point I use way more default features as well, so I pretty much only add the tide prompt and zoxide. I also have a functions and abbreviations folder which is essentially my zsh alias collection.
The crazy part is really how much faster it is though. I really, really love it. And now they’re rewriting it in Rust as well!