I highly recommend zsh. It takes a moment to setup initially, but you can use oh-my-zsh to just skip that part and use one of the many, many presets, and it supports plugins, of which there are many. It gives you tab support for so many popular commands, you will never need to remember them, and it has a lot of small improvements that makes your terminal life a breath. For example, if you do cd tab in bash, it will give you a list of subdirrectories. If you do the same in zsh, it will give you that list and a cursor that you can use to navigate said list, so instead of typing the dir, you can do cd tab tab tab enter
I have very little experience with fish, but by my first experience zsh was way better at handling wildcard matching, and for me it’s half of the stuff I do. You are trying to open a file and all you remember is that it has some substring in the name probably, you just type some of it, double tab, and you have all the files that match. At the time I was trying it, fish couldn’t do it.
I highly recommend zsh. It takes a moment to setup initially, but you can use oh-my-zsh to just skip that part and use one of the many, many presets, and it supports plugins, of which there are many. It gives you tab support for so many popular commands, you will never need to remember them, and it has a lot of small improvements that makes your terminal life a breath. For example, if you do cd tab in bash, it will give you a list of subdirrectories. If you do the same in zsh, it will give you that list and a cursor that you can use to navigate said list, so instead of typing the dir, you can do cd tab tab tab enter
For someone that doesn’t like the cli, I’d recommend fish instead of that as it just works with no setup.
I have very little experience with fish, but by my first experience zsh was way better at handling wildcard matching, and for me it’s half of the stuff I do. You are trying to open a file and all you remember is that it has some substring in the name probably, you just type some of it, double tab, and you have all the files that match. At the time I was trying it, fish couldn’t do it.