项目全局搜索必须用ctrl+shift+F(Windows/Linux)或cmd+shift+F(macOS),右键仅支持单目录搜索;正则替换用$1而非\1;默认启用ripgrep但需确认设置;搜索范围受.gitignore和core.ignoredNames双重过滤。

用 ctrl+shift+F 启动项目级搜索,不是右键点项目名
Atom 不支持右键点击项目根目录触发搜索——这是新手最常卡住的地方。项目全局搜索必须用快捷键:ctrl+shift+F(Windows/Linux)或 cmd+shift+F(macOS)。右键菜单里只有“Search Directory”选项,且仅对单个子目录生效,不是整个项目。
常见错误现象:右键项目名没反应,以为功能坏了;或者点了“Search Directory”却只扫了当前文件夹,漏掉 src/、lib/ 等关键路径。
- 确保你已打开一个完整项目(
File > Add Project Folder),而不是只打开几个零散文件 - 如果快捷键无效,检查是否被系统或其他软件(如输入法、远程桌面)劫持了组合键
- 搜索面板弹出后,焦点默认在“Find in project”输入框,直接敲字即可,不用先点它
正则替换要用 $1 捕获组,别写 \1
Atom 的替换语法沿用 JavaScript 风格,不是 POSIX 或 sed 风格。写 \1 会原样输出反斜杠加数字,不会还原捕获内容。
使用场景:批量修正函数调用、交换赋值顺序、提取模板字符串等。
- 开启正则:点搜索框右侧的
.*按钮(或按alt+r) - 匹配示例:
(console\.log)\(([^)]+)\)可抓取所有console.log(x)中的x - 替换示例:
debug('%s', $2)—— 注意是$2,不是\2 - 若想保留原始括号,需在替换中写成
debug('%s', $2),$1是console.log,$2是括号内表达式
ripgrep 默认启用但可能被禁用,检查 find-and-replace 包设置
Atom 自 1.24 起默认集成 ripgrep 作为底层搜索引擎,但若你手动改过配置或装了老版本插件,它可能退回到慢速的 scandal 实现。
性能影响明显:万级文件项目中,ripgrep 搜索通常在 1–2 秒内完成;scandal 可能卡顿 10 秒以上,甚至假死。
- 进
Settings > Packages,搜find-and-replace,确认状态为 “Enabled” - 点开该包设置页,检查 “Use ripgrep” 是否勾选(部分旧版 Atom 此项叫 “Enable ripgrep support”)
- 若仍慢,终端执行
rg --version看系统是否装有ripgrep;Atom 会优先调用系统版,未安装时才 fallback 到内置二进制 - 排除干扰:临时禁用其他搜索类插件(如
advanced-open-file、project-find-plus),避免冲突
搜索范围被 .gitignore 和 core.ignoredNames 双重过滤
你搜不到某个文件,大概率不是 Atom 没扫到,而是它被主动跳过了——Atom 默认尊重 .gitignore,同时还会读取自身配置里的 core.ignoredNames(如 node_modules、.DS_Store)。
容易踩的坑:改了 .gitignore 却忘了重启 Atom;或误以为“项目里能看到这个文件,就一定能搜到它”。
- 检查路径是否在
.gitignore中(例如dist/、build/常被忽略) - 进
Settings > Core,看Ignored Names字段是否包含你要搜的目录名(如误加了src) - 临时绕过:在搜索面板底部的 “Files to include” 输入框里填
**/*.js,或明确写src/**强制包含 - 注意通配符语法是 minimatch,不是正则;
**表示递归任意层,*只匹配单层
.gitignore 和设置里的 ignoredNames。

















