For context Atuin (Github) is a shell history replacement that apparently provides a lot of extra functionality.
Has anyone used it? Im thinking of switching to it but Im worried about its impact on performance and if its worth it.
It’s better than any built-in history tools (including zsh and fish) and I find the sync feature very useful. It’s definitely saved me time in having to re-find old commands I used once. Probably the second best quality-of-life tool for the shell after zoxide (a brilliant cd replacement).
it’s great, I use it all the time. I run my own server and sync history between my work and personal laptops. If I need history for a specific project, I filter by the workspace (or whatever it’s called)
Atuin*
I just sync my bash history with dotfiles and use FZF for recalling it. I’m not sold on it.
Also, the same history on different machines would be something I definitely do NOT want. I heavily rely on recent history to re-run commands on different machines with different projects and configurations. Mixing all that would be a mess.
But what about the other features?
(tbf looking at the github I don’t see anything special but I have been seeing people using it swear by it so Im wondering what Im missing)
Things I already have:
- rebind ctrl-r and up (configurable) to a full screen history search UI
- old history file is not replaced
Things I could find useful once in a while:
- switch filter modes via ctrl-r; search history just from the current session, directory, or globally
Things I don’t care about and probably wouldn’t use:
- back up and sync encrypted shell history
- log exit code, cwd, hostname, session, command duration, etc
- calculate statistics such as “most used command”
- quick-jump to previous items with Alt-<num>
- enter to execute a command, tab to edit
I really don’t want:
- the same history across terminals, across sessions, and across machines
Not really a feature:
- store shell history in a sqlite database
thanks for the comprehensive answer!
yep 😄 just edited it
Have used it for a while, it’s great. I don’t want sync between machines, so I just use it as a better local history. It works well, and switching scopes of history so easily is terrific. I do wish the querying / fuzzy matching was a little smarter, but I’ve not seen anything better.
I would like to use it specifically for the sync between machines, because ridicolous terminal commands like with find, grep or checking/comparing used storage volumes is abysmal to remember. I also set up my own server which worked quite well, I just wish the “client” installation as a proper debian package instead of this stupid shell script.
I don’t have any experience with Atuin, but I use and love hstr for similar features.
I love it. I turn off sync but it’s just a much better command history tool