必须用ctrl+shift+h(windows/linux)或cmd+shift+h(macos)打开“replace in files”面板,where框需显式填写.php等过滤条件,正则替换须启用.模式并用$1引用捕获组,替换后须按ctrl+k→ctrl+b(或cmd+k→cmd+b)保存全部更改。

必须用 Ctrl+Shift+H(或 Cmd+Shift+H)打开“Replace in Files”面板
按 Ctrl+H 只改当前文件,Ctrl+Shift+F 默认搜整个磁盘根目录——这两个都不是你要的。PHP 批量替换必须用 Ctrl+Shift+H(Windows/Linux)或 Cmd+Shift+H(macOS),它专为项目级替换设计,且默认聚焦在已加载的文件夹范围内。
如果面板灰显或 Where 框只显示 Open Files,说明 Sublime 还没识别项目:菜单 → Project → Add Folder to Project…,选中你的 PHP 项目根目录(比如 /var/www/my-app),侧边栏出现树形结构才算生效。
Where 框填 *.php,别信“全项目”自动包含
即使已加载项目,不显式限定文件类型,Sublime 会默认扫描所有文本文件(包括 .md、.log、.gitignore),极易误改。安全写法是直接在 Where 框输入:
-
*.php—— 最常用,覆盖全部 PHP 文件 -
src/**/*.php—— 需先勾选Regular Expression,否则通配符不生效 -
app/,config/,-tests/—— 逗号分隔路径,减号排除不需要的子目录
注意:Where 中的路径区分大小写(Linux/macOS),且不支持 shell 展开(比如 **/*.php 在未启用正则时等同于字面量 **/*.php)。
正则替换要手动点 .* 图标,\b 对下划线无效
想把 $user_name 改成 $userName?别直接写 \b\$user_name\b —— Sublime 的 \b 把下划线 _ 当作单词字符,$username 和 $__user_name 全都会被命中。
更稳的写法(需先点右下角 .* 图标激活正则):
(? —— 排除前后紧邻字母数字-
\$user_name(?=\s|;|\)|\}|$)—— 限定后跟空格、分号、括号等常见 PHP 语句边界 - 若上下文干净(比如只在变量赋值行),加空格前缀
\$user_name+ 勾选Whole Word也能快速过滤
捕获组引用一律用 $1、$2,不能用 \1;括号在查找内容里要转义,比如匹配 mysql_query( 得写 mysql_query$$。
Replace All 后必须按 Ctrl+K → Ctrl+B(或 Cmd+K → Cmd+B)
点完 Replace All,所有被改的 PHP 文件标签页右上角出现星号 * 是正常现象——Sublime 只把变更缓存在内存,**不会自动写入磁盘**。
关掉窗口、崩溃、甚至只是切换到其他应用再切回来,只要没手动保存,改动就彻底丢失,且没有跨文件撤销历史。
务必执行:
- Windows/Linux:
Ctrl+K松开,再按Ctrl+B - macOS:
Cmd+K松开,再按Cmd+B - 或菜单 →
File → Save All
大文件(>10MB)可能被跳过,右下角看编码是否为 UTF-8;GBK 编码的 PHP 文件得先右键 → Reopen with Encoding → GBK,否则不参与搜索。
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!











