爱意满满的作品展示区。
vvenvw

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

  •  
  •   vvenvw · 6h 11m ago · 247 views

    平时找以前用过的命令,大多用 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 卸载时会还原。

    欢迎试用和提意见~

    No Comments Yet
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1232 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:15 · PVG 04:15 · LAX 13:15 · JFK 16:15
    ♥ Do have faith in what you're doing.