没有“一键提取行”的快捷键,但有三套可靠组合操作:Ctrl+Shift+F+正则用于跨文件聚合、Ctrl+F→Alt+Enter→Ctrl+L用于单文件整行高亮、Ctrl+Shift+L→命令面板执行Keep Only Lines Matching用于当前文件实时过滤。

直接说结论:没有“一键提取行”的快捷键,但有三套可靠组合操作,分别对应单文件整行筛选、跨文件聚合结果、当前文件实时过滤——选错路径会白忙半小时。
Ctrl+Shift+F + 正则 ^.*keyword.*$ 是跨文件提取的唯一正路
想从整个项目里抓出所有含 404 的日志行、所有调用 fetchApi 的 JS 行,必须用 Find in Files(Ctrl+Shift+F);在单文件里按 Ctrl+F 再 Find All 永远只返回当前文件结果。
- 务必勾选右上角的
Regular Expression(.* 图标亮起),否则^.*404.*$会被当字面量处理,搜不到任何东西 -
Where栏别留空——填./src/**/*.js或logs/,否则 Sublime 默认只扫当前文件,你却以为“全项目都查了” - 搜索结果页带前缀(如
api.js:42:fetchApi("/user");),要纯文本就Ctrl+A→Ctrl+C→ 新建标签页 →Ctrl+H替换掉^.*?:\d+: - 关键词含正则元字符?比如搜
file.txt,得写成file\.txt;不转义就会匹配任意字符+txt
Ctrl+F → Alt+Enter → Ctrl+L 是单文件整行高亮的标准链
很多人卡在 Alt+Enter 这一步,以为点了 Find All 就完事了——其实它只把光标停在每行开头,还没选中整行。必须立刻补按 Ctrl+L(Windows/Linux)或 Cmd+L(macOS)才真正选中全部匹配行。
- 正则表达式必须显式写
^.*error.*$,漏掉^或$就只高亮error两个字,不是整行 - 大小写敏感默认开启,搜
Error却没结果?点查找框左侧的Aa按钮关掉它 - 关键词含
.、[、*等?用\Q...\E包裹,比如^.*\Quser.id\E.*$,比手动转义更稳 - 文件大于 10MB?别硬刚,先用终端
grep -n "error" *.log > matches.txt预筛,再拖进 Sublime 处理
Ctrl+Shift+L → 命令面板输入 Keep Only Lines Matching 是当前文件真·过滤
这个操作不会新建标签页,而是直接删掉当前文件里所有不匹配的行,只剩你要的——但它不在菜单里,必须走命令面板,且只对当前文件生效(原始文件未保存前不会被改)。
- 先
Ctrl+F输入关键词,确保Regular Expression开关状态和你的需求一致(比如要模糊匹配就开,要精确字面就关) - 按
Ctrl+Shift+L(Windows/Linux)或Cmd+Shift+L(macOS)把所有匹配位置变成多光标 - 立刻按
Ctrl+Shift+P,输入Keep Only Lines Matching回车——注意不是Filter Lines,后者是第三方插件名,不稳定 - 如果
Ctrl+Shift+L没反应,说明没找到匹配项,Sublime 不报错也不提示,只会静默失败
最容易被忽略的是:所有这些操作都依赖 "highlight_line": true 的设置,否则光标在哪行都看不清;另外,复制筛选结果时别用 Ctrl+C,而要用命令面板里的 Copy Selected Lines,否则换行和缩进大概率错乱。


















