如何快速上手tgrep:从安装到毫秒级代码搜索的完整入门指南
如何快速上手tgrep从安装到毫秒级代码搜索的完整入门指南【免费下载链接】tgrepTrigram-indexed grep with a client/server architecture for fast regex search in large codebases locally项目地址: https://gitcode.com/gh_mirrors/tg/tgreptgrep 是一款基于三元组trigram索引的 grep 搜索工具采用客户端/服务器架构专为大型代码库的毫秒级正则搜索设计。它已在 18 组真实仓库基准测试中的 17 组里跑赢 ripgrep最高提速 51.9 倍并被集成进 GitHub Copilot CLI 提供高速代码检索。本指南带你从安装到常用搜索命令一步步上手 tgrep。一、3 种方式一键安装 tgrep根据你的环境任选其一安装后只需一个tgrep命令。方式 1Homebrew 安装macOS / Linux最省事brew install tgrep方式 2从源码安装需要 Rust 工具链git clone https://gitcode.com/gh_mirrors/tg/tgrep cd tgrep cargo install --path tgrep-cli --locked方式 3使用预编译二进制下载对应平台的压缩包Linux / macOS / Windows解压后将可执行文件复制到PATH中的目录即可。各平台命令示例见 README.md 的 Installation 章节。 装完执行tgrep --version确认版本号一切就绪。二、30 秒快速体验从建索引到搜索tgrep 的核心工作流只有两条命令先启动服务器自动建索引再搜索。第 1 步启动服务后台运行首次会自动构建索引tgrep serve .第 2 步在另一个终端直接搜索tgrep -- fn main . # 客户端自动发现并连接服务器 tgrep status . # 查看索引与刷新状态第 3 步不想常驻服务手动建一次磁盘索引tgrep index .索引默认存放在.tgrep/目录记得把它加入.gitignore。没有索引时tgrep 会自动退化为全文件系统扫描功能不受影响只是速度回到普通 grep 水平。三、毫秒级搜索常用命令速查tgrep 兼容 ripgrep 的命令行习惯老rg用户几乎零成本迁移tgrep -- TODO|FIXME . # 正则 alternation tgrep -i -- error . # 忽略大小写 tgrep -F -- VecT . # 按字面量搜索 tgrep -l -- MyStruct . # 只输出匹配的文件名 tgrep -t rust -C 3 -- pattern . # 只看 Rust 文件带 3 行上下文 tgrep --json -- pattern . # ripgrep 兼容的 JSON 输出 tgrep --stats -- pattern . # 查看查询计划与耗时 tgrep --no-index -- pattern . # 强制读当前文件绕过索引几个新手常踩的点模式以-开头时务必用--隔开例如tgrep -F -- -serve .想强制搜索最新内容索引可能滞后时加--no-index退出码与 ripgrep 一致0有匹配、1无匹配、2出错方便脚本判断。全部 60 多个参数说明见 README.md 的 CLI Flags 表格。四、理解 tgrep 为什么这么快一句话原理索引时把每个文件拆成所有重叠的 3 字节三元组并排序存储查询时先用三元组反查出可能命中的候选文件再用正则引擎并行验证——跳过 99% 无关文件这就是毫秒级的来源。tgrep index . # 一次性把三元组倒排索引写入 ./.tgrep tgrep serve . # 每次会话保持索引温热监听文件变化 tgrep pattern . # 每次搜索自动找服务器毫秒级返回搜索时按此优先级自动降级命令完全不变有服务器 → 走 TCP 查询最快有磁盘索引但无服务器 → 直接读.tgrep/什么都没有 → 像 grep 一样扫全盘。三元组的核心提取逻辑在 tgrep-core/src/trigram.rs把 3 个字节压缩进一个u32最多约 1670 万个无冲突的唯一三元组。五、性能有多强基准数据一览官方基准只计时索引已建好后的搜索且每次查询都启动全新客户端进程含进程启动 TCP 往返。2026 年 8 月的完整扫描结果仓库文件数Windows 提速macOS 提速Linux 提速chromium/chromium504,35117.6x15.8x3.81xmozilla/gecko-dev387,84138.6x51.9x7.36xtorvalds/linux95,83134.8x21.0x9.38xrust-lang/rust62,3267.69x2.69x1.61xgolang/go15,8337.53x3.12x1.29x六个仓库的几何平均提速为Windows 14.6x、macOS 8.61x、Linux 2.82x。索引构建内存也受控最大的 Chromium50 万文件峰值内存不到 470 MiB。完整方法论见 BENCHMARKS.md。六、给 AI 编码代理的进阶玩法 如果你用 Codex 或 pi 这类编码代理tgrep 提供一键集成的 MCP 搜索工具让 AI 在仓库里享受同样的毫秒级检索bash install-agent.sh # 交互式选择代理与安装范围安装后代理获得tgrep_search_code和tgrep_find_files两个工具并带会话级索引预热。详细参数freshness、max_results、file_types等见 scripts/agent/README.md。代理侧的心智模型与降级策略总结在 AGENTS.md。七、常见问题快速排查现象原因与解法搜索结果缺少刚改的文件索引可能滞后临时用--no-index或让tgrep serve .的监听机制自动同步提示走了全盘扫描没有可用索引执行tgrep index .或tgrep serve .非 Git 仓库中.gitignore不生效加--no-require-gitindex/serve/搜索都要加大文件搜不到默认跳过 64 MiB 以上文件用--max-filesize或--no-max-filesize调整想看服务与索引状态tgrep status .关注Indexing: complete与Hidden coverage: complete八、项目结构导览想深入源码时按目录入手即可目录内容tgrep-core/文件遍历、解码、三元组提取、索引存储与查询规划tgrep-cli/命令行解析、匹配、输出、服务器与集成测试scripts/基准测试脚本与 AI 代理集成fuzz/索引读取与查询解析的模糊测试目标写在最后tgrep 的定位非常清晰把 ripgrep 的熟悉手感 预建三元组索引 常驻服务器组合起来让你在大仓库里搜代码时不再等待。安装一条命令、体验两条命令今天的指南到这里就够你上路了。祝搜索愉快【免费下载链接】tgrepTrigram-indexed grep with a client/server architecture for fast regex search in large codebases locally项目地址: https://gitcode.com/gh_mirrors/tg/tgrep创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考