Sublime中快速选中所有含关键词的行:先统一编码为UTF-8、换行符为LF,再用正则^.*\Q关键词\E.*$配合Alt+Enter全选匹配行;或用Ctrl+F后Ctrl+Shift+L多光标定位再Home+Shift+End逐行选中。

怎么用 Sublime 快速选中所有含关键词的行
直接按 Ctrl+Cmd+F(macOS)或 Ctrl+H(Windows/Linux)打开「查找替换」面板,输入关键词后点右下角 .* 按钮启用正则,再在查找框末尾加 ^.*关键词.*$,接着按 Alt+Enter —— 所有匹配行会被整行高亮选中。
注意:不是所有用户都记得 Alt+Enter 是“全选匹配项”,很多人卡在这一步,反复点「查找下一个」;另外,^ 和 $ 必须显式写出,否则只选中关键词本身,不是整行。
-
^表示行首,$表示行尾,缺一不可 - 如果关键词含正则元字符(如
.、*、[),得先转义:\.、\* - 大小写敏感默认开启,想忽略就点查找框左侧的
Aa按钮
不用正则也能批量提取?试试「行过滤」快捷键
更轻量的做法是:先 Ctrl+F 查找关键词 → 按 Enter 跳到第一个匹配 → 再按 Ctrl+Shift+L(Windows/Linux)或 Cmd+Shift+L(macOS),光标会自动在每个匹配位置分列,然后按 Home → Shift+End 就能逐行反向选中整行内容。
这个操作本质是「多光标定位 + 行级扩展」,不依赖正则,适合临时快速处理。但缺点也很明显:如果文件超大(比如 >10MB),Sublime 可能卡顿甚至未响应,此时必须切回正则方案。
- 务必确认已启用
“highlight_line”: true(在设置里),否则很难看清当前光标在哪行 -
Ctrl+Shift+L对未命中的关键词无效,不会报错,只会静默失败 - 选中后复制粘贴时,空行可能被带入,建议粘贴前用
Ctrl+Shift+P→ 输入Remove Empty Lines清理
导出筛选结果到新标签页的可靠方法
选中所有目标行后,别直接复制——容易漏掉换行或格式错乱。正确做法是:按 Ctrl+Shift+P 呼出命令面板,输入 Copy Selected Lines(不是普通复制),然后新建标签页,粘贴即可。这个命令会严格保留每行的原始换行和缩进。
为什么不用「右键 → 复制」?因为 Sublime 的右键复制对多光标选中行为不一致:有时只复制最后一个光标所在行,有时复制全部但混入多余空格。实测 Copy Selected Lines 插件(自带)最稳。
- 该命令在默认安装中已存在,无需额外装插件
- 如果没搜到,检查是否误输成
Copy Lines或Copy Selection - 粘贴后若发现行号错位,说明原文件用了混合缩进(空格+Tab),这不是筛选问题,是源文件格式问题
为什么有时候 ^.*关键词.*$ 不生效
常见原因是文件编码或行尾符不统一。比如 UTF-8 with BOM 的文件,开头三个字节会干扰 ^ 匹配;或者混合了 \r\n 和 \n,导致 $ 在某些行失效。这时候要先用 Ctrl+Shift+P → Set Encoding to UTF-8,再执行 File → Line Endings → Unix (LF) 统一换行符。
另一个隐蔽坑:Sublime 的正则引擎对 Unicode 支持有限,如果关键词含 emoji 或生僻汉字,建议改用 \Q关键词\E 包裹(\Q 到 \E 之间所有字符都被当字面量处理)。
- 验证是否是编码问题:打开文件后看窗口右下角显示的编码名,不是
UTF-8就点它切换 -
\Q关键词\E在 Sublime 中完全可用,比手动转义每个特殊字符更安全 - 如果仍不匹配,打开「查找」面板右上角的
.*按钮,确认它确实是蓝色高亮(表示正则已启用)
^.*\Q关键词\E.*$ + Alt+Enter。复杂点在于环境准备,而不是筛选逻辑本身。

















