I use fish + atuin. I leave the "Up" arrow set to use fish's default history search (see https://docs.atuin.sh/faq/#how-do-i-remove-the-default-up-ar...), which keeps the UI minimal when just going back one or two commands, then use atuin via Ctrl+R when I need to find a command from earlier in my history. At that point Atuin provides a nicer UI for searching the history.
I've been using fish + atuin for well over a year now. I personally love it. I'm not sure if zsh or bash with atuin offers some additional features that fish doesn't, but the shell syncing and fuzzy search is enough of a value that it made it completely worth setting up for me.
The main thing would be opt-in syncing, and I think we might store a little more context than fish does in their SQLite!
Otherwise consistency is nice if you use a few setups
fish doesn't use SQLite, but its own plaintext format. They've been trying to migrate to other formats.[1] Currently fish stores timestamps and directories in its history.
Has anyone used fish + autuin? What are your thoughts? I'm curious to know if it is worth the extra tool, maybe I should just try it :)