ctrl+shift+l 拆行前须选中含换行符的完整文本,否则仅在首行末加光标;推荐先用 ctrl+l 逐行选中再执行,避免空行干扰、缩进错位及大文件卡顿,正则替换更高效可靠。

Ctrl+Shift+L 拆行前必须选中含换行符的完整文本
多光标拼接字符串失败,八成卡在这步:你拖选了 5 行,但松手时没覆盖最后一行末尾的 \n,Ctrl+Shift+L 就当它是单行,只在第一行末尾放一个光标。
安全做法是先用 Ctrl+L(Windows/Linux)或 Cmd+L(macOS)逐行选中目标行(每按一次选中当前行),再统一按 Ctrl+Shift+L——这时每行末尾必有一个光标,稳。
- 若目标行之间有空行,
Ctrl+Shift+L也会给空行加光标,导致生成'',建议提前删空行或用正则过滤 - 选区包含行首缩进?光标会落在空格后,输引号可能覆盖缩进;可先按
Home把所有光标拉到行首再操作 - 大文件(如 200+ 行 CSV 字段)慎用多光标,容易卡顿;优先考虑正则替换
加引号和逗号要分两步,避免末尾多逗号
Ctrl+Shift+L 后光标默认落在每行末尾,此时直接输 ', 会让最后一行也带逗号,JSON 或 Python 元组会报 Invalid syntax 或 JSONDecodeError。
更稳的顺序是:
- 先按
Home→ 输入'(所有光标同步加左引号) - 再按
End→ 输入',(所有光标同步加右引号 + 逗号) - 手动删掉最后一行末尾的逗号,或用
Ctrl+Shift+P→ 输入Join Lines快速合并并清理
如果要生成 f-string,把光标挪进引号内(比如 '{ 后),再批量输入 var},别碰引号外的字符。
超长列表优先用正则替换,不是多光标
面对 100+ 行日志、SQL 字段或 HTTP Header,Ctrl+Shift+L 配合键盘移动效率断崖下跌。这时该切到正则模式:Ctrl+H → 点亮 .* 按钮。
典型操作:
- 查找:
^([^$]+)$(匹配非空行,^和$是锚点) - 替换:
'\1',(\1是捕获内容,保留原行) - 替换完,最后一行末尾的逗号用鼠标选中后
Delete即可 - 若需换行拼接(如 SQL 多行字符串),替换为
'\1' +,最后一行手动改成'\1'
列编辑对齐失败?大概率是字体或空格不一致
想对齐修改第 3 列字段(如 CSV 中的 status 值),用 Alt+Shift+↓ 拖动列选却错位,不是快捷键失效,而是:
- 当前字体不是等宽(如系统默认 San Francisco 或微软雅黑),换成
Consolas或Fira Code立刻稳定 - 某行该列位置有空格/制表符不一致,光标会停在该行实际末尾;建议先运行
Ctrl+Shift+P→Trim Trailing White Space - 列选本质是矩形框选,不保证逻辑对齐;若数据本身不对齐(如字段长度差异大),改用正则更可靠:
^(?:[^,]*,){2}([^,]*)匹配第 3 列,再替换
真正难的不是怎么加光标,而是怎么让光标精准落在你想让它落的位置——它不会猜你意图,只忠实地执行你选中的范围和触发的命令。











