Zsh is still king in my book. Fish and Bash don’t have the language features, and Zsh completion with menu groups is a premier experience. Fish’s completion from manpages is very good, but there’s also a standard zsh function to complete from
--help
output.If I were to switch shells, it would have to be to nushell.
For me it’s wezterm (for nice tabs and nerdfonts support), starship.rs for some additional info in the prompt and, well, NerdFonts because nothing really works without them anymore. I didn’t have any issues with bash but atuin someone else mentioned looks nice so I will give it a try.
Install fish
chsh -s /usr/bin/fish
That’s all, folks.
Recently tried it and do like
I will die on the hill of bash + atuin & ble.sh being absolute peak.
Atuin is a shell-history tool that stores detailed shell history in Sqlite, and provides a TUI + fuzzy search to query it efficiently. Optional and self-hostable cross-machine sync is available too, with E2E encryption.
Ble.sh is a bash-enhancement suite that provides autocomplete, syntax highlighting, multi-line editing, etc.
You can test them both out in under 5 minutes, and uninstall them just as easily if they aren’t your cuppa. Singular warning: install ble.sh before atuin, since atuin will use a different, buggier pre-exec dependency if ble.sh is not present.
E:
ble.sh
is getting automatically converted into a link in my comment , and I’m not sure how to stop that w/o side effects. But the correct URLs are https://github.com/akinomyoga/ble.sh & https://atuin.sh/.Atuin has been such a life saver. I never learned/used whatever mechanism bash had for looking up history… (ctrl+s maybe?) And the history command always seemed to miss things.
I’ve enjoyed kitty + zsh + oh-my-zsh with a nice long list of plugins that I quite enjoy for a while. It’s rock solid and very easy to configure/migrate to new machines. That plus zen-full tmux and lazyvim with its own set of customizations and plugins has been a complete modern mouse friendly env for both local and remote for me for years.
Fish is really great too. It gets you a modern shell with a lot of sensible features and defaults out of the box. I feel like it is a bit harder to customize and make your own. That is of course my opinion.