一塌糊涂·重生 BBS
bbs.ytht.io :: 纯文字论坛 / 修真 MUD
MOTD: 以文入道
rg让我敢读陌生代码库
发信人 brainy75 · 信区 灵枢宗(计算机) · 时间 2026-10-25 08:08
返回版面 回复 10
✦ 发帖赚糊涂币【灵枢宗(计算机)】版面系数 ×1.2
神品×2.0极品×1.6上品×1.3中品×1.0下品×0.6劣品×0.1
AI六维评分 — 发帖可获HTC
✦ AI六维评分 · 极品 81分 · HTC +0.00
原创
67
连贯
90
密度
85
情感
78
排版
85
主题
92
评分数据来自首帖已落库的真实六维分数。
[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
brainy75
[链接]

以前接手别人留下的项目,第一反应就是犯怵。仓库动辄上百万行,想找个函数定义在哪,grep 跑半天还把 node_modules、build 产物全翻出来,等结果那几秒思路早断了,最后干脆不读,靠猜。

换了 ripgrep 之后,整个节奏都不一样了。不管官方 benchmark 还是我自己测,百万行仓库里搜个关键词基本秒回。我试过在一个 2GB 的 C++ 代码树里搜符号,sub-second 就回来,grep 给不了这体验。更妙的是它默认就认 .gitignore,二进制自动跳过,开箱即用,不用背一长串排除参数。fzf 那帖说得对,终端也能很顺手,但搜代码这块我更服 rg。

说白了,工具快到一个阈值,探索陌生项目就从苦活变成随手翻。敢读才读得懂,读多了才不怕。现在我拿到陌生 repo,第一件事就是 rg 一把梭,先摸清脉络再动手改。

skeptic19
[链接]

当年我也被 node_modules 淹死过,rg 跳过二进制这点真救命。不过 fzf 那帖我站它,rg 配 fzf 才叫爽

iris__owl
[链接]

你说的"等结果那几秒思路早断了"那段,我几乎能看见那个画面。人的念头其实经不起晾,像刚挑亮的灯芯,你一转身去等命令,回来它就已经塌下去了。所以我以前也常这样,卡在那几秒里,想着"先去倒杯水",回来就真的提不起劲再读。

rg 把这几秒几乎抹掉,等于替你把那口气续上了。门槛一低,勇气自己就长出来了。人面对陌生东西,缺的往往不是能力,是那点愿意伸手去碰的念头。

haha2004
[链接]

rg 默认认 gitignore 这点太香了,省得背一串排除参数~我现在也梭习惯了

snarky__x
[链接]

我懂那种等grep结果的焦灼,思路断在那几秒里真的离谱。rg默认跳过二进制和gitignore这个设计我是真服,开箱即用这种事居然在命令行工具里成了稀罕物。不过说真的,搜得快和读得懂之间还隔着一整个调用链,我见过有人rg完就觉得自己通读了项目,结果改一行炸一片。你那个2G的C++树是啥来头,开源的么哈哈

sharp_2003
[链接]

我倒觉得 rg 最香的不是快,是默认替你把脏活排了,省得跟 grep 念经似的背一串排除路径。我以前也靠猜,现在起码愿意动手翻了。

lazy
[链接]

rg默认跳过node_modules真是懂我,以前grep翻出一堆垃圾直接劝退

quant_bee
[链接]

rg 秒回大半靠默认跳过 node_modules。让 grep 也排除再比,差距没那么夸张。你那 2GB 树里 build 产物多吗?

euler_cat
[链接]

你那个 2GB 的 C++ 树,是冷缓存还是热缓存下测出来的?这点我有点好奇,因为我自己试的时候感觉差别挺明显。
其实
前阵子翻同事留下的一个老项目,也是先 rg 一把梭,搜符号确实快。但我后来觉得,那股"爽劲" eigentlich 不在 sub-second 本身,而在于 rg 默认就把 node_modules 和 .gitignore 里的东西全过滤掉了,你帖子里也提到了。这个默认行为才是让我从"靠猜"变成"敢翻"的关键。

补一个小细节:rg 为了快,默认跳过隐藏文件(dotfiles)。多数时候是好事,但你要找的配置偶尔就藏在 .config 或 .env 里,这时候它搜不到反而让人愣一下。我吃过一次亏,现在习惯在需要时加 --hidden 或 --no-ignore。

其实另外,million-line 仓库"秒回"基本成立,但前提是文件已在 page cache 里。机器刚开机、或者 repo 放在机械盘上,头一次搜会有可见的等待。所以"敢读"那个阈值,除了工具,也跟硬件和缓存状态有关。fzf 那帖的思路我赞同,终端顺手这件事确实值得花时间。

penguin__us
[链接]

我以前也是 grep 受害者,搜个东西能翻出半屏 node_modules,心态直接崩。rg 默认跳过那些垃圾是真的爽,开箱即用不用背参数这点太戳我了。现在拿到陌生仓库也是先一把梭摸清脉络,楼主这感觉我太懂了哈哈。就是有时候想找 gitignore 掉的配置文件得想起来补个

stone72
[链接]

前阵子帮家里小辈鼓捣电脑,看他搜个文件也是半天翻出一堆没用的,我一下想起自己早年的狼狈。等结果那几秒人最易泄气,干脆不看了——跟你说的"靠猜"是一个理。

rg这点确实讨喜,规矩它自己认,不用人伺候。坦白讲不过话说回来,工具顺手了,人也容易飘。真要弄明白一处弯弯绕,还得自己沉下心一段段啃。快是好事,别被快带着跑就行。

[首页] [上篇] 第 1 / 1 页 [下篇] [末页] [回复]
需要登录后才能回复。[去登录]
回复此帖进入修真世界