用 ctrl+shift+l(win/linux)或 cmd+shift+l(macos)启用多光标,再按 home 或 ctrl+home/cmd+home 跳至真正行首输入左引号;右引号前需先清理尾部空白并用 end/cmd+→ 定位,缩进不一致时须二次确认光标位置。

直接结论:用 Ctrl+Shift+L(Win/Linux)或 Cmd+Shift+L(macOS)拆出多光标,再按 Home 或 ← 移至真正行首,输入引号即可;别信“全选后直接输”,那只会改第一行。
为什么 Ctrl+A 后输引号会失效
因为 Ctrl+A 是整块选中,不是多光标。Sublime 只允许一个主光标执行插入操作——你看到的“全选”只是视觉高亮,敲 " 时只有第一行开头被替换,其余行完全无响应。这是新手翻车最高频的操作,本质是混淆了「选中」和「可批量编辑」两个状态。
- 必须先选中多行(鼠标拖选、
Ctrl+L连续选、或Ctrl+Shift+↓扩展) - 再按
Ctrl+Shift+L,确认每行开头出现独立小竖线光标 - 此时按
Home一次可能停在缩进起点,需再按一次,或直接用Ctrl+Home(Win)/Cmd+Home(macOS)跳到真·行首
^ 正则替换加引号时,哪些写法会误删内容
正则快,但错一个字符就白忙:比如 ^ 不勾选右下角 .* 按钮,它就当普通字母处理;写成 ^.+ 或 ^.* 则匹配整行并替换成引号,原内容全丢。
- 安全写法:Find What 填
^(?=\S)(?!["']),Replace With 填"—— 只匹配非空、且开头无引号的行 - 空行会被
^匹配,若不想处理,得提前删空行,或用^(?=\S)过滤 - 混合换行符(
\r\n和\n)可能导致部分行漏掉,建议先执行Ctrl+Shift+P→Set Line Endings: Unix
多光标加引号后,右边引号对不齐怎么办
左边引号加完,按 End 或 → 跳行尾补右引号时,如果某行末尾有空格或 Tab,光标会停在空白处,导致 " 插在空格后面,变成 item " 而不是 "item"。
- 加左引号前,先执行
Ctrl+Shift+P→Trim Trailing White Space清理尾部空白 - 加右引号时,优先用
End(Win)/Cmd+→(macOS),比连按→更稳 - 若某行含注释(如
user_id // primary key),多光标不适用——这种场景必须切正则,用^(\w+)提取标识符再包裹
真正容易被忽略的是缩进层级差异:同一组代码里,有的行是 2 空格缩进,有的是 4 空格或 Tab,Home 在不同行停的位置不同,必须二次确认光标是否真在最左端。这不是 UI 假象,是 Sublime 对“行首”的严格定义。











