必须用 Ctrl+Shift+F(Windows/Linux)或 Cmd+Shift+F(macOS)并手动在 Where 框输入 open_files 才能跨标签页搜索内容,因 Ctrl+F 仅限当前激活页,Ctrl+P 仅匹配文件名而非内容。

必须用 Ctrl+Shift+F(Windows/Linux)或 Cmd+Shift+F(macOS),且 Where 框里手动填 open_files,否则搜不到任何已打开的标签页内容——包括未保存的 untitled 文件。
为什么 Ctrl+F 和 Ctrl+P 都不行
Ctrl+F 是硬编码只查当前激活标签页,哪怕你开了 50 个文件,它也不会“顺便”扫别的 Tab。Ctrl+P 匹配的是文件名和路径字符串,不是文件内容:输 console.log 不会列出所有含这串字符的已开文件,只会列出文件名里带 console 或 log 的 Tab。真正跨 Tab 查内容,只有 Ctrl+Shift+F + open_files 这一条通路。
open_files 失效的三个真实原因
填对了却没结果?不是功能坏了,而是环境卡在以下任一状态:
- Sublime 没进项目模式:左下角状态栏没显示类似
~/my-project/的路径,只开了单个文件 → 此时open_files退化为仅搜那个文件,不报错也不提示 - 插件干扰:旧版
ProjectManager、AdvancedSave等会拦截open_files请求;临时禁用插件包(Preferences → Package Control → Disable Package)可快速验证 - 排除规则误杀:用户设置(
Preferences → Settings – User)里有"file_exclude_patterns": ["*.tmp"]类配置 → Sublime 对未保存的untitled文件判定逻辑特殊,部分排除模式仍可能跳过它
替换后内容“消失”不是 Bug,是设计如此
Replace All in Files 完全不触发文件修改标记,标签页右上角不会出现 *,Ctrl+S 只保存当前激活文件。所有替换结果都悬浮在内存里:
- 必须手动执行
File → Save All - 快捷键:Windows/Linux 是
Ctrl+K松开 → 再按Ctrl+B;macOS 是Cmd+K→Cmd+B - 忘了这步就切走焦点、关掉窗口,或只是切换 Tab,改动立即清空,且无撤销历史、无警告
最容易被忽略的一点:open_files 不是“搜索已打开文件”的默认行为,它是个显式开关;而 Sublime 默认的 Where 值(留空或 .)永远指向目录树,不是 Tab 栏。这个隐式关键字没有补全、不响应正则、也不受排除规则影响——它只认当前开着的那些标签页,不多不少。











