sublime text 的多行字符串拼接依赖多光标编辑而非语言特性,核心是 ctrl+shift+l 拆分选择后批量加引号和逗号,并注意空行处理、末尾逗号删除及大文件需先全选再拆分。

Sublime Text 本身不执行脚本,所谓“多行字符串拼接”不是语言特性,而是编辑器对文本的高效操作能力——关键在 Ctrl+Shift+L(Windows/Linux)或 Cmd+Shift+L(macOS)触发的“拆分选择为行”功能,配合多光标编辑完成批量拼接。
为什么直接写 """...""" 或 '''...''' 不解决实际问题
Python 的三引号字符串确实支持跨行,但真实场景中你常要拼接的是「已有散行文本」(比如日志片段、SQL 字段列表、HTTP header 行),而非从头手写。这时靠语法糖没用,得靠编辑器把每行变成带引号 + 逗号 + 换行的格式。
- 错误做法:复制粘贴后手动加
'、+、\n——50 行就崩溃 - 正确路径:选中所有行 → 拆分为多光标 → 批量补前缀/后缀 → 一次性收口
- 注意:Sublime 默认对空行也创建光标,拼接时容易多出空字符串,需提前删空行或用正则过滤
Ctrl+Shift+L 后怎么安全加引号和逗号
拆分后光标落在每行末尾,此时不能直接输 ',,否则最后一行也会多逗号(JSON/元组会报错)。更稳的做法是先统一加引号,再处理连接符。
- 按
Ctrl+Shift+L拆分所有目标行(确保只选中要拼接的内容) - 按
Home回到行首,输入';再按End到行尾,输入', - 把最后一行的结尾逗号删掉(或用
Ctrl+Shift+P→ 输入 “Join Lines” 快速合并) - 如果要生成 f-string 或 format 占位,把光标挪到引号内合适位置再批量输入
{var},别碰引号外
用正则替换绕过手动光标操作
面对超长列表(如 200+ 行 CSV 字段),多光标反而慢。这时用 Ctrl+H 打开替换面板,开启正则模式(.* 按钮点亮),效率翻倍。
- 查找:
^([^$]+)$(匹配非空行,^和$是行首行尾锚点) - 替换:
'\1',(\1是捕获组,保留原内容) - 替换完用鼠标拖选最后一行末尾的逗号,Delete 删除
- 若需换行拼接(如 SQL 多行字符串),替换为
'\1' +,最后一行手动改成'\1'
真正卡住人的不是功能找不到,而是忘了 Sublime 的多光标只响应当前视图可见区域——滚动加载的大文件里,没显示出来的行不会被 Ctrl+Shift+L 选中。这时候必须先全选(Ctrl+A),再拆分,否则拼到一半发现缺了十几行。











