必须先将光标置于属性值内部(如"foo"中)再按Ctrl+Shift+A选中引号内容,重复按键可逐级扩展至属性或整个标签;仅在此状态下按Ctrl+D才能稳定匹配,否则易误选注释或字符串中的同名文本。

Ctrl+Shift+A 选中标签后,再用 Ctrl+D 逐个定位属性值
想批量改多个 <div class="foo"> 里的 <code>class 值?别先急着按 Ctrl+D。必须先让光标落在某个属性值内部(比如 "foo" 里),再按 Ctrl+Shift+A —— 它会自动把引号内的内容选中;重复按一次,会扩选到整个属性(class="foo");再按一次,才选到整个标签。只有在「属性值被完整选中」的状态下按 Ctrl+D,后续匹配才稳定。否则 Ctrl+D 可能跳到注释里或字符串中同名的 foo。
正则查找 + Find All 是最稳的批量属性编辑路径
手动点太慢,且容易漏掉嵌套深的标签。直接上正则:
class="([^"]*)"
打开 Ctrl+H,勾选 .*(正则模式),粘贴上面表达式,点 Find All。这时每个 class 的引号内内容都会被选中,且每个匹配开头都有一个光标。关键点:
-
Find All不是替换,只是生成光标 —— 点错Replace All就全替成空了 - 如果属性用单引号或无引号(
class=foo),得换正则:class=(["']?)([^"'\s>]+)\1 - 匹配后打字,所有光标同步输入;按
Delete会删掉全部引号内内容,但引号本身保留
Alt+拖拽列选择只适合对齐修改,不适用于属性值替换
比如你想给 10 个 id="x" 后统一加 data-foo="bar",列选择没用 —— 因为每行 id 结束位置不同,Alt+拖拽拉不出整齐矩形。这时候该用:
- 先
Ctrl+F搜id=",点Find All,所有id="开头被选中 - 按
→跳过引号,再按Ctrl+Shift+→选中整个值(含结尾引号) - 按
Right再按Space,就能在所有id值后统一插入空格和新属性
列选择(Alt+鼠标拖拽)只在属性位置绝对对齐时才可靠,比如 CSV 表头或固定宽度日志,HTML 标签天然不对齐。
drag_text = false 必须关,否则 Cmd/Ctrl+Click 会拖文本而不是加光标
这是 macOS / Windows 用户最常卡住的一点:点了半天没光标,或者点了却把上一行文字拖下来。根本原因是 Sublime 默认开启 drag_text,导致 Cmd+Click(macOS)或 Ctrl+Click(Windows/Linux)优先触发拖动行为。必须手动关:
- 打开
Preferences → Settings - 在右侧用户设置里加一行:
"drag_text": false - 保存并重启 Sublime
关掉之后,Cmd+Click 才真正变成「添加光标」,而不是「移动文本」。这点不处理,其他技巧全白搭。

















