atom 编辑器无官方 regex-search 插件,正则搜索需手动启用查找面板的 .* 按钮;文件名搜索不支持正则,仅限 shell 通配符;可视化调试可用 atom-regex-railroad-diagrams 插件。

Atom 编辑器本身没有叫 regex-search 的官方或主流插件——这个名字容易和命令行工具 regex-search(GitHub 上的 Python CLI 工具)或 Chrome 扩展 Regex Search 混淆。你在 Atom 里实际能用的,是编辑器原生查找功能 + 插件增强组合,不是独立插件。
Atom 原生查找面板支持正则,但开关必须手动打开
Atom 默认关闭正则模式,即使你写了 d{3}-d{2}-d{4},它也当普通字符串匹配。关键动作只有一个:
- 按
Ctrl+F(Windows/Linux)或Cmd+F(macOS)呼出查找面板 - 点击右下角那个
.*图标——它必须高亮(变蓝),才表示 regex 模式已启用 - macOS 用户可直接用快捷键
Cmd+Alt+F切换该状态,不用点图标
没点这个图标,所有 ^、$、、+ 都无效;点了之后,[^"]* 才能匹配引号内任意内容,function 才不会误中 functionality。
文件名搜索不支持正则,别在 fuzzy-finder 里试 ^api.*.ts$
Atom 的文件跳转(Ctrl+P / Cmd+P)用的是 fuzzy-finder,它压根不解析正则——^、.*、$ 全部按字面意思匹配。输 api.ts 可能命中 api-service.ts,但输 api.*.ts 不会命中任何东西。
- 真要按规则筛文件名,得用
Ctrl+Shift+F(Find in Project)→ 底部File/Directory pattern栏填 shell 通配符:**/*.ts、src/**/*service*.ts、!**/*.test.ts -
File/Directory pattern不支持d或[a-z],只认*(零或多字符)、?(单字符)、**(跨目录) - 它默认尊重
.gitignore,如果搜不到dist/下的文件,去Settings → Core → Exclude VCS Ignored Paths关掉
想可视化调试正则?用 atom-regex-railroad-diagrams 插件
这个插件不是用来“搜索”的,而是把光标所在位置的正则表达式画成铁路图,帮你一眼看出分组、分支、量词嵌套是否合理。但它有严格触发条件:
- 只识别语法上下文中的原生正则:JS 里的
/^d+$/g、Python 里的re.compile(r"w+")、或带r""前缀的裸字符串 - 不识别变量赋值形式:
const pattern = "\d+";不会触发 - 文件后缀必须被 Atom 正确识别为对应语言(如
.js),否则语法解析失效 - 默认快捷键是
Ctrl+R Ctrl+R(不是单次Ctrl+R),常被vim-mode-plus或minimap冲突
装完不显示图?先检查右下角语法类型是否对,再打开 Settings → Keybindings 搜 regex-railroad-diagrams:toggle 看绑定是否还在。
真正需要复杂文件名正则控制时,别卡在 Atom 里
Atom 的定位是代码编辑辅助,不是文件系统查询引擎。当你需要 rg --files | grep -E '^(api|auth).*.ts$' 这种粒度的控制,或者想排除多级路径下的构建产物、又保留某类临时文件时,终端一行命令比在 UI 里调十次 File/Directory pattern 更快更稳。
尤其注意:File/Directory pattern 输错不会报错,只会静默返回空结果——这点非常容易被忽略。











