Atuin 介绍:由Ellie Huxtable打造的工具,运行于后台捕捉输入的命令,本地存储于 SQLite 数据库,提供 CLI 工具用于搜索历史、提供常用命令统计,还可跨设备同步历史。是过去一年左右发现的很酷的 Rust 工具之一,已添加到 /uses 页面。
- 捕捉命令方式:通过 preexec 和 precmd 钩子,不仅获取命令,还包括当前目录、主机名、会话、命令持续时间和退出码,并与时间戳一起存储在 SQLite 数据库中,不影响 shell 的历史文件。首次设置时可导入历史,开始收集命令后
atuin stats
和atuin search
就很有用。
- 捕捉命令方式:通过 preexec 和 precmd 钩子,不仅获取命令,还包括当前目录、主机名、会话、命令持续时间和退出码,并与时间戳一起存储在 SQLite 数据库中,不影响 shell 的历史文件。首次设置时可导入历史,开始收集命令后
- 搜索(Search):是搜索
~/.zsh_history
文件的有用替代,默认通过<CTRL>-R
与 readline 基于的 CLI 提供的反向历史搜索挂钩,呈现彩色命令历史及附加元数据,如命令持续时间、运行相对时间戳和完整命令,可轻松切换当前主机、会话、目录和所有同步设备的过滤器。 - 统计(Stats):
stats
子命令有趣,可提示可添加的别名。当前统计显示<CTRL>-Z
/fg
记忆强,从ag
切换到rg
且后者排名上升等。 - 同步(Sync):提供同步功能,确保端到端加密,可指定命令运行的过滤器(如
history_filter
)和写入历史前的当前目录过滤器,也可自行托管同步服务器。 - 配置(Configuration):默认配置较合理,可覆盖各种设置,个人配置对
stats
部分做了一些调整,如添加 Ruby 相关的common_subcommands
、common prefixes
等。 - 愿望清单(Wishlist):最近添加“dotfiles 同步”,可设置别名和环境变量并跨设备同步,已将一些东西迁移;希望
atuin stats
增加更多过滤器,如与atuin search
类似的全局、主机、会话、目录和工作区等过滤器模式,想看看工作和个人电脑、不同项目等的统计差异。还尝试过 Delta 工具但不喜欢,添加了diff-highlight
获取行和字级高亮。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。