where字段必须填.才能递归搜索子目录,留空只搜已打开文件,填./config会漏路径,正确写法是.并配合./*.json等类型限定和-build/等排除规则。

Where 字段必须填 .,否则搜不到子目录里的配置文件
很多人在 Ctrl+Shift+F 面板里输完正则、点 Find All,结果只列出当前打开的几个文件——问题几乎都出在 Where 框。它不识别“项目”或“文件夹”这类语义,只认路径表达式:.(单个英文点)才表示“从当前项目根目录递归搜索所有子目录”。留空等价于只搜已打开的标签页;填 ./config 会漏掉 ./src/config;填 config/ 可能因路径解析失败直接不匹配。
- 正确写法:
. - 限定配置文件类型(推荐):
./*.json, ./*.yaml, ./*.env - 排除构建产物:
., -build/, -dist/, -node_modules/(注意统一用/,Windows 上也别写\) - 若右下角状态栏没显示项目路径(如
~/myapp/),说明根本没加载项目:先Project → Open Folder…或Add Folder to Project…
Find 用 \$\{([^}]+)\} 匹配 ${VAR_NAME} 格式,别用 .*
环境变量常见格式是 ${API_URL}、${DB_PORT},直接搜 $ 会被当正则元字符处理,搜 ${ 又会因未转义报错。必须用转义后的字面量 + 捕获组:
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
- 查找内容填:
\$\{([^}]+)\}(两个反斜杠:第一个逃逸$,第二个逃逸{) - 解释:
[^}]+表示“至少一个非}的字符”,比.*?更安全,避免跨变量匹配 - 错误示范:
\$\{(.*)\}—— 若某行含${URL}/v1?token=${TOKEN},会整个匹配成一段,导致替换错乱 - 验证方法:先点
Find All,看结果是否每条都精准对应一个变量名(如API_URL、DB_PORT),而不是整块字符串
Replace 用 $1 引用变量名,别写 \1 或 ${1}
Sublime 的替换语法不兼容 Python 或 JavaScript 的捕获组写法。$1 是唯一有效的引用方式,\1 会被当字面量输出,${1} 会触发 Shell 变量展开(且不生效)。
- 想把
${DB_HOST}替成localhost:Replace填localhost - 想替成带前缀的值,如
dev-DB_HOST:Replace填dev-$1 - 想保留变量名但加引号:
"$1" - 若需条件替换(如仅当变量名为
ENV时才改),得拆成两次操作:第一次用\$\{ENV\}精确匹配,第二次再处理其他
替换后必须手动 Ctrl+K Ctrl+S 全部保存,Git 提交不能省
Sublime 执行 Replace All 后,所有改动都在内存中,文件本身没变。关掉未保存的标签页,修改就永久丢失——它没有跨文件撤销历史。
- 保存快捷键:
Ctrl+K Ctrl+S(Windows/Linux)或Cmd+K Cmd+S(macOS),不是Ctrl+S - Git 是唯一保险绳:替换前执行
git add -A && git commit -m "prep: global env var replace";出错时git checkout .三秒回滚 - 特别注意:
.env文件常被file_exclude_patterns过滤(如默认排除*.env),若搜不到,去Preferences → Settings检查该配置项,临时注释掉再试 - 替换完立刻用原正则再搜一次,确认无残留——有时
Replace All会因编码问题(如文件是ISO-8859-1)跳过某些文件,右下角状态栏会显示编码名










