Previously using the built-in history function of the shell, the command history of each shell session was isolated from each other. Atuin seems to have shared the command history across all shell sessions. Previously I could directly execute the previous command, but now I need to search or move up multiple times to get to it. How can I configure atuin’s behavior to be consistent with before?
You can set
filter_mode = 'session'
In your config file (~/.config/atuin/config.toml)
We also have settings for using a different filter mode for the up arrow
See the docs
Thank you so much for your reply! It was extremely helpful for solving my issue.
However, I have discovered a new issue. When I open a new shell session, the default history is blank. If I want to search the history, I need to press Ctrl+r to switch the filter mode. Is there a filter mode similar to ‘session_with_global’? Where the history of the current session continuously adds to the previous history.
If you open a new shell, the session is new thus there is no history for that session.
e.g. I have set my config to this:
filter_mode = "host"
filter_mode_shell_up_key_binding = "session"
So when I want to get the history for the session I just hit the up cursor key. Otherwise I use Ctrl-r
instead of the up arrow key (which I have been using until now anyway with fzf). This gives me all commands from the computer I am currently working on. If I need a command from another system, I then switch to global
by pressing ctrl-r
in the atuin TUI.
But maybe you want to change your up key behavior to host
. That’s maybe more what you have been used to before using atuin.
Thank you for your reply. I should read more of the documentation - using it is still somewhat different from the previous behavior, but it’s already good enough to use. Much appreciated.
One other option, for the sake of completeness: you can invoke atuin only on ^R, and leave the up-arrow binding to just use the standard shell history (which will be session-local, preloaded with global history at startup, for common shells like bash).
It’s sometimes an easier way to get used to using atuin, especially if your musclememory expects up-arrow to be a quick way to edit and rerun commands with typos.