
Sublime 里怎么用多光标快速给每行加双引号
直接按 Ctrl+Shift+L(Windows/Linux)或 Cmd+Shift+L(macOS),把光标拆成每行一个,然后在行首按 ",再按 → 移到行尾,再按 "。这是最稳、最不依赖插件的方案。
注意:必须确保每行只有一段待包裹内容(比如纯字符串、变量名、JSON key),否则会误操作。如果行末有空格或注释,先用 Ctrl+Shift+P → 输入 Trim Trailing White Space 清理一下更安全。
用正则替换批量加双引号(适合结构化数据)
比如处理 CSV 字段、数组元素、JSON key 列表时,正则比多光标更可控。打开替换面板(Ctrl+H),勾选 .* 按钮启用正则模式:
- 给每行非空内容加双引号:
Find: ^(.+)$
Replace: "$1" - 只给不含引号的单词加(避开已有的
"abc"):Find: \b([a-zA-Z_][a-zA-Z0-9_]*)\b
Replace: "$1" - 处理 JSON key(冒号前的标识符):
Find: ("?)([a-zA-Z_][a-zA-Z0-9_]*)("?)\s*:—— 这个能自动清理已有引号并统一格式
Replace: "$2":
为什么别乱用“列选择”或“全选后打引号”
列选择(Alt+鼠标拖拽)看着快,但一旦行长短不一,就会错位;全选后打 " 更危险——它会在所有光标位置插入引号,包括换行符、括号中间、甚至字符串内部,结果是语法爆炸。
常见翻车现场:
- 原代码:
name
→ 错误操作后变成
age
city"name"ge"city"(因为光标没对齐) - 带缩进的代码块被全选,结果变成
" name",引号吞了空格,破坏对齐 - 正在编辑 JS 对象,顺手
Ctrl+A+",结果把{和}也包进去了
进阶:用 Vintage 模式或插件做持久化封装(可选)
如果你高频处理这类任务,可以考虑:
- 装
Text Pastry插件,支持按行插入序列号、重复字符串,配合引号模板更省心 - 用
Key Bindings自定义快捷键,例如绑定ctrl+alt+q执行「选中 → 行首插" → 行尾插"」组合命令(需写简单sublime-macro) - 慎用
BracketHighlighter类插件自动加引号——它通常只响应双击或特定触发条件,对批量场景无感
真正卡住效率的,往往不是不会操作,而是没区分清楚:这是一次性整理?还是后续要反复跑的流程?前者多光标足矣,后者值得花 5 分钟配个命令。










