Sublime的Find Results面板无法直接保存,需点击结果行激活选择、展开边栏、调大find_result_max_files限制,再用正则^(1+:\d+:)(?=\s)清洗前缀,或改用rg命令行导出。: ↩

Find in Files 结果页根本不能直接保存
Sublime 的 Find Results 面板是只读 UI 渲染层,没有“导出为文件”按钮,右键菜单里也找不到 Save As。所有所谓“导出”,本质都是绕过面板、靠复制 + 清洗实现的临时闭环。
常见误操作包括:对着输入框按 Ctrl+A、右键点 Select All(该菜单项在结果页压根不响应)、或试图拖选大片区域——这些都无效,因为焦点没落在真正的结果列表上。
- 必须先点击任意一条结果行(比如
utils.ts:87:throw new Error("timeout")),让光标真正进入结果区 - 若仍无法全选,收起左侧边栏所有折叠的文件夹节点(点小箭头),减少 DOM 干扰
- 结果超 10000 行会被截断;需手动改
Preferences → Settings,加一行"find_result_max_files": 20000
复制后怎么去掉 filename:line_num: 前缀
粘贴出来的每行默认带路径和行号,例如 src/api/client.js:142:const API_BASE = "https://api.example.com";。这不是格式错误,而是设计如此——清洗必须靠正则替换,不能手动删。
- 粘贴到新文件后,按
Ctrl+H打开替换面板,勾选Regular Expression - 查找:
^[^: ]+:\d+:(?=\s)(注意末尾空格是关键,避免误删行内冒号) - 替换为空,回车执行
- 若混入了预览行(带
→箭头的上下文),再查^\s*→.*$一并删掉 - 清洗前确认目标文件编码为
UTF-8,否则中文可能乱码
想跳过 GUI 直接落地为纯文本文件?用 rg
GUI 复制流程不稳定:大项目卡顿、结果被截断、前缀清洗易漏、编码不一致。真正可靠的方式是绕过 Sublime,用命令行工具直接生成干净文本流。
- 确保已安装
ripgrep:brew install ripgrep(macOS)、scoop install ripgrep(Windows) - 终端执行:
rg -n "console\.log" ./src > results.txt,比 GUI 更快、不卡、无前缀、可管道续处理 - 若坚持在 Sublime 内触发,建构建系统:
{"cmd": ["rg", "-n", "--max-count=10000", "$file_base_name", "$folder"], "shell": true} - 注意:别扫
node_modules,Where栏填./src/**/*.ts比./安全得多
为什么正则匹配整行总失败?
很多人输 error 就想导出所有含 error 的行,结果只高亮单词本身,Ctrl+L 也扩不出整行——问题不在快捷键,而在正则没锚定。
- 必须写
^.*error.*$,不是error;否则 Sublime 默认只匹配关键词片段 -
Where框留空 = 只搜当前文件;要跨文件,必须手动填路径,如./logs/**/*.log - 关键词含元字符(如
config.json)又不想转义?就别勾Regular Expression,直接输字面量 - 勾了
Regular Expression却没转义.,file.txt就会变成file[任意字符]txt,漏匹配

















