Ctrl+Shift+F不生效需先确认项目已加载:必须通过File→Open Folder…打开工程根目录,状态栏显示路径如~/my-project/;Where框填.才全项目搜索,正则替换需点.*按钮并转义元字符,Replace All后须手动Save All。

Ctrl+Shift+F 不生效?先确认项目已加载
按了没反应,大概率是因为 Sublime 没进“项目模式”:左下角状态栏必须显示类似 ~/my-project/ 的路径。只打开单个文件或用 File → Open 打开的,Find in Files 面板会灰显或仅限“Open Files”。必须通过 File → Open Folder… 重新选中整个工程根目录。Windows 上路径要用正斜杠 /,比如 C:/project/src;大小写敏感,./SRC 和 ./src 是两个不同路径。
Where 框填什么才真正扫到目标文件?
Where 不是补全框,是 Shell 风格过滤表达式,填错就漏文件:
- 整个项目:填单个英文点
.(不是./,也不是留空) - 只改 JS:写
./src/**/*.js(双星号**才递归子目录) - 排除 node_modules:用逗号分隔 + 减号前缀,如
., -node_modules/, -dist/ - GBK 编码文件默认不参与搜索,右下角状态栏看编码是否为
UTF-8;非 UTF-8 要先右键转码
正则替换总出错?盯住 .* 按钮、$1 和转义
不点右下角 .* 图标,所有 \d、^、$ 都当普通字符处理——这不是 bug,是设计。激活后注意三点:
- 捕获组引用只能用
$1,不是\1 - 括号、点号等元字符在查找框里必须手动转义,例如查
getUser(id)要写getUser$$([^)]+)$$(括号得加反斜杠) - 跨行匹配要加
(?s)前缀,如(?s)foo.*bar才能匹配foo\nbar -
\b对下划线不敏感,\buser_name\b会匹配username;更稳的是(?
Replace All 后文件还是没变?你忘了 Save All
Sublime 从不自动落盘。点完 Replace All,所有修改都缓存在内存里,文件标签页出现星号 * 就是提醒你还没保存。关掉窗口或崩溃,改动直接丢弃:
- 快捷键:Windows/Linux 是
Ctrl+K然后Ctrl+B;macOS 是Cmd+K→Cmd+B - 菜单:File → Save All
- 被替换的文件若为只读(右下角显示
RO),会跳过,需先解除只读属性
最易被忽略的其实是预览环节:点 Find All 后务必看右侧面板列出的每一条匹配,双击跳转确认上下文——变量名出现在字符串、注释、正则字面量里时,一样会被换,Whole Word 和 \b 都拦不住。重构前推一次 Git,比什么都管用。


















