
Atuin 是什么
开源 Shell 历史增强工具,核心的思路是:把传统的纯文本 ~/.bash_history 替换成一个 SQLite 数据库,在存储命令的同时,记录下更多有价值的上下文信息
原来的 Shell 历史只记录”你输入了什么”,而 Atuin 还会记录”你在哪个目录输入的”、”命令运行了多久”、”命令是否成功退出”、”是在哪台机器上输入的”
这些信息听起来不起眼,但当你真正需要找回某条命令时,这些上下文就是救命稻草——特别是你记得”这个命令我是在项目目录下运行的,而且大概跑了一分多钟”,就能快速缩小搜索范围
核心功能
Ctrl+R 或者上箭头,弹出全屏搜索界面,支持模糊搜索,可按工作目录、主机名、会话等维度过滤
基本使用方法

在搜索界面中,你可以:
-
使用 Enter 键执行选中的命令
-
使用 Tab 键编辑选中的命令
-
使用 Alt+数字 快速选择特定的结果(例如 Alt+1 选择第一个结果)
-
多次按 Ctrl+R 在不同的过滤模式间切换(全局/主机/会话/目录)
安装与配置
安装
https://docs.atuin.sh/main/#quickstart
curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh
atuin import auto
echo 'eval "$(atuin init bash --disable-up-arrow)"' >> ~/.bashrc
atuin import auto #导入现有的 Shell 历史注册账号与同步
atuin register -u your_username -e your@email.com 注册后,登录并同步: atuin login -u your_username atuin sync
日常使用技巧
搜索界面中,循环 Ctrl+R 可以切换搜索范围,在”全局历史”和”当前目录历史”之间切换
很多时候你需要找的命令就是在特定项目目录下运行的,切换到目录过滤模式可以大幅减少干扰
删除重复
atuin history dedup --dry-run --before "2099-01-01" --dupkeep 1
atuin history dedup --before "2099-01-01" --dupkeep 1配置删除
keymap_mode = "vim-insert"
[keymap.vim-insert]
"delete"="delete-all"