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.
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.
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).
I love it. I turn off sync but it’s just a much better command history tool
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.
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
I don’t have any experience with Atuin, but I use and love hstr for similar features.
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)