GoForum › 🌐 V2EX

ago:纯 zsh 写的历史命令搜索,按命令名分组,零依赖

vvenvw · 2026-10-22 22:08 · 0 次点赞 · 0 条回复

平时找以前用过的命令,大多用 fzf 的 Ctrl-R 或者 Atuin 。两个都很好用,但我想要一个不用装任何东西、source 一下就能用的,另外希望能按命令名分组来浏览,所以用纯 zsh 写了一个:ago 。

GitHub: https://github.com/vvenv/ago

$ 搜索 › push
ago  3
➤ git      git push origin main
  pnpm     pnpm push:docs
  docker   docker push vvenv/app
↑↓ 选择 | → 进入 | Del 删除 | ^O 次数 | ^T 时间 | ^U 清空 | ESC 退出

主要功能

  • 零依赖:纯 zsh ( 5.3+),不需要 fzf 、Python 或者别的二进制,macOS 自带的 zsh 就能用
  • 按命令名分组:打开后先看到 git 、pnpm 、docker 这样的分组,→ 进入、← 返回,都按最近使用排序
  • 模糊搜索:多个关键词用空格分开,支持中文,匹配的字会高亮;输入 gps 也能找到 git push
  • 先编辑再执行:选中的命令放到命令行,不会直接执行
  • 删除历史:可以删一条命令或整组,删除前要确认,还会自动备份;删除时原样保留其余字节,不会弄坏历史文件
  • 统计报表:ago stats 列出最常用的命令和子命令,可以按天数或命令名筛选
  • 安全:历史里的 $(...) 只当作文本处理,有测试保证

安装

sh -c "$(curl -fsSL https://raw.githubusercontent.com/vvenv/ago/main/install.sh)"

装好后默认接管 Ctrl-R (可以用 AGO_KEY 换别的键),ago uninstall 卸载时会还原。

欢迎试用和提意见~

0 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: vvenvw
发布: 2026-10-22
点赞: 0
回复: 0