ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

ripgrep 14.1 更新解读:搜索更快、匹配更准,这次升级值得做

ripgrep 14.1 更新解读:搜索更快、匹配更准,这次升级值得做 ripgrep 14.1 更新解读搜索更快、匹配更准这次升级值得做【免费下载链接】ripgrepripgrep recursively searches directories for a regex pattern while respecting your gitignore项目地址: https://gitcode.com/GitHub_Trending/ri/ripgrepripgrep 14.1 这一轮更新14.0 到 14.1.1 共六个版本带来三件实在的事搜索更快、不再漏掉本应匹配的行、大目录遍历不再无限吃内存。对普通用户这是一次低风险升级下文讲清值不值得升、怎么升。先说结论这次要不要升如果你高频用 rg 搜代码且终端支持超链接VS Code 终端、iTerm2、WezTerm 等升级收益最直接建议直接上 14.1.1。脚本里若同时用了-C和-A/-B上下文参数先看完下文的行为变化再动手。其余情况14 系列全是向后兼容的增量13.x 及更早版本的用户没有任何不升的理由。最值得关注的改动文件路径变成可点击的超链接 这一轮 ripgrep 14.1 新功能中最直接的一项新增--hyperlink-format标志开启后 rg 输出里的文件路径会变成终端超链接OSC 8在支持它的终端里点击即可跳到编辑器对应位置不用手敲路径。目前该功能需要手动开启官方提到未来可能改为默认。rg --hyperlink-format default TODO # VS Code 终端 rg --hyperlink-format vscode TODO实现位于 crates/printer/src/hyperlink/想深入了解生成逻辑可以翻一翻。搜索速度有明显提升 ⚡14.0 重写了正则引擎并行目录遍历也换成了工作窃取work stealing调度。多数查询你感觉不到差异但带\b环视如\bfunc\b和含内部固定字符串的模式会明显变快大目录下的并行扫描竞争也更少。不需要改任何配置升级即生效。修复漏匹配的假阴性 bug14.1.1 修了一个会让 rg 忽略本应匹配行的问题内部文字优化与多种策略叠加时会产生错误结果例如(?i:e.x|ex)之前匹配不到e-x。如果你常用大小写不敏感或带替代分支的复杂模式这条与准确性直接相关无需任何操作升级即可。其余变化一览修复遍历目录树时内存无限增长的问题crates/ignore/扫描超大仓库更稳--sortrpath恢复可用14.0.x 中曾是占位实现--null-data --line-regexp组合的行为回归已修复Windows 下cargo install ripgrep恢复正常此前 Manifest.xml 未打包进 cratefish shell 补全修复并进一步改进新增 armv7 三个 Linux 目标的预编译二进制gnu/musl移除simd-accel特性自定义构建需去掉该 feature新标志--stop-on-nonmatch、-d--max-depth的短形式、--generate生成补全脚本和 man 页Lean、Meson、Ada、TypeScript 等文件类型过滤新增或改进怎么升级到最新版本并验证按你的环境选一条即可# HomebrewmacOS / Linux brew upgrade ripgrep # Rust 工具链--version 14.1.1 锁定本文明确的版本不写则装最新 cargo install ripgrep --version 14.1.1 # 源码构建 git clone https://gitcode.com/GitHub_Trending/ri/ripgrep cd ripgrep cargo build --release ./target/release/rg --version无论哪种方式最后跑一条确认版本号rg --version输出里还会显示 PCRE2 是否可用方便确认构建完整。升级后留意这些点-A/-B不再完全覆盖-Crg -C1 -A2现在等价于rg -B1 -A2脚本里若有这种组合核对一下输出行数。标志覆盖行为整体更一致底层解析库更换错误文案略有变化--no-ignore --ignore-vcs现在按预期工作。自己编译过 rg 的构建参数里的simd-accel需要删掉该特性已被移除。超链接目前是 opt-in官方提到未来可能转为默认别把当前输出格式写死在工具链里。升级本身几分钟就能完成省下的时间留给搜索。遇到匹配异常或想反馈超链接体验直接到项目的 issue 或讨论区提即可。【免费下载链接】ripgrepripgrep recursively searches directories for a regex pattern while respecting your gitignore项目地址: https://gitcode.com/GitHub_Trending/ri/ripgrep创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表