ctrl+shift+l配合正则可30秒内批量提取html/css属性:先拖选首行目标字段再触发多光标,用class="(1*)"等正则精准捕获值,注意引号转义、关闭“.匹配换行”,多光标编辑需警惕backspace/delete差异及ctrl+z单步撤销风险。" ↩

多行属性提取不是靠插件,而是靠 Ctrl+Shift+L + 正则替换组合拳——只要数据有规律,30秒内就能从几百行 HTML 或 CSS 里精准抠出 class、id、src 等字段。
怎么用 Ctrl+Shift+L 快速定位每行目标位置
这个快捷键本质是「按行裂变光标」:选中一段文本后按 Ctrl+Shift+L,Sublime 会在每一行的相同列位置(或每行末尾)生成一个光标。它不认语义,只认你当前选中的区域结构。
- 适用场景:所有行格式一致,比如每行都是
<div class="xxx">、<code>background: url(xxx);、data-id="123" - 常见错误:全选后直接按
Ctrl+Shift+L,结果光标落在每行开头——因为默认选中的是整块文本,不是“对齐列”。解决办法:先用鼠标拖选第一行的目标字段(如class="后面的引号内内容),再按Ctrl+Shift+L,光标就会精准落在每行对应位置 - 注意:如果某行缺失该字段,那行就不会生成光标;空行或缩进不一致的行也可能被跳过
- 提取
class="xxx"中的值:查找class="([^"]*)",替换为$1。注意双引号必须转义,否则匹配会跨行或吞掉中间的" - 提取
src='xxx'(单引号):用src='([^']*)',不能混用引号类型 - 提取无引号属性如
id=header:用id=([^\s>]+),[^\s>]表示直到空格或>停止,比\w+更安全(避免漏掉连字符、下划线) - 性能影响:正则开启「. matches newline」会极大拖慢响应,提取单行属性时务必关闭该选项(右下角正则图标旁的小点默认不亮)
-
Backspace:从每个光标位置向左删一个字符;Delete:向右删一个字符。如果光标不在同一列,删出来的长度可能不同 -
Ctrl+V:粘贴内容会覆盖每个光标所在位置的选区;如果没选中任何东西,就变成在每个光标处插入相同文本——这常被误认为“粘贴失败”,其实是预期行为 - 最容易踩的坑:
Ctrl+Z只撤销最后一次操作,但多光标批量输入算作一次操作。一旦发现错了,立刻Ctrl+Z,别尝试局部修改——局部改完其他光标位置会失同步 - 保险做法:操作前先
Ctrl+K+Ctrl+Shift+K复制一份当前选区到剪贴板,留作回滚依据
Ctrl+H 配合正则提取属性值最稳写法
手动删前后缀太慢,用正则一次捞干净。关键不是写多复杂的表达式,而是避开常见陷阱。
多光标编辑时误删/错粘贴的补救方法
多光标状态下,Backspace 和 Delete 行为不一致,Ctrl+V 也容易粘成一团——这不是 bug,是设计逻辑。
真正卡住人的往往不是不会用 Ctrl+Shift+L,而是面对不规整的数据时硬套正则——比如混合了双引号、单引号、无引号的 class 属性,这时候得先用 Alt+F3 分批选中再人工校验,而不是赌一行正则通吃。











