ctrl+f搜card不行,因它是纯文本搜索,无法区分class属性值与注释、字符串等;须用正则模式匹配class="..."结构,配合正确where路径和索引刷新。

直接搜 .card 或 card 基本找不到你要的 HTML class 使用处——Sublime 默认不解析语义,必须开正则、限定路径、写对模式。
为什么 Ctrl+F 搜 card 不行
Ctrl+F 是当前文件纯文本搜索,会命中:/* .card { */、console.log("card")、recard、甚至 JS 字符串里的 "card-header"。它不区分属性名、值、注释或字符串,结果杂乱且不可控。
- HTML 中 class 是属性值,不是独立语法单元,必须用正则锚定
class=结构 - 单双引号、空格、多 class(如
class="header card footer")都会让简单字符串匹配失效 - 不启用正则时,
\b、["']、\s*全部当普通字符处理,起不到边界或兼容作用
正确写法:正则模式 + class\s*=\s*["'].*?\bcard\b.*?["']
在 Ctrl+Shift+F 面板中启用右上角 .* 按钮,输入该表达式,它能稳定覆盖以下真实写法:
-
class="card"、class=' card '、class = "header card active" -
\bcard\b确保不匹配recard或cardinal -
["']同时兼容单双引号;.*?是非贪婪匹配,防止跨标签捕获(比如误吞到下一个") - 若搜多个类(如
card和panel),改用\b(card|panel)\b,放在引号内部分
Where 框必须填对,否则搜到全是噪音
留空或填错会导致扫描 node_modules/、.git/、JS 字符串甚至 JSON 文件,结果淹没关键位置。
- 搜 HTML / Vue / JSX 模板:填
*.html, *.htm, *.vue, *.jsx - 排除干扰目录:写成
!node_modules/, !dist/, !build/(逗号分隔,斜杠统一) - 只查
src/下所有模板:填src/(不是./src/或src/**) - 刚新建文件却搜不到?先
Project → Refresh Folders,等右下角Indexing…消失
替换 class 名后不会自动保存
点 Replace All in Files 后,所有修改都只存在内存里,文件标签页不显示 * 号,关掉就丢,毫无提示。
- 务必手动执行
File → Save All(快捷键:Windows/Linux 是Ctrl+K松开 →Ctrl+B;macOS 是Cmd+K→Cmd+B) - 替换前先点
Find All,确认结果面板列出全部目标行,避免漏改或误改 - 如果项目用 Pug/Jade 或动态 class(如
:class="{ card: isActive }"),这个正则无效,得换语法感知插件
真正卡住人的从来不是正则怎么写,而是项目没加载、Where 框填错、索引没刷新这三件事——它们不报错,只让你搜到空结果,还觉得是 Sublime 坏了。











