Ctrl+Shift+L 是将选区按换行符切分为多光标,非开启多行编辑;需确保选区包含换行符(拖选至下一行开头或全选),否则仅在第一行生成光标。

Ctrl+Shift+L 不是“开启多行编辑”,而是把已有选区按换行符切出光标——没选中带 \n 的文本,它就什么也不做。
为什么 Ctrl+Shift+L 只在第一行出光标?
它只检测你选中的文本里是否含换行符(\n 或 \r\n),不识别“你心里想选几行”。鼠标拖选时若最后一行没覆盖到换行符(即光标停在行末字符上而非换行符位置),就会被当成单行处理。
- ✅ 正确做法:拖选时多拖一格,确保光标落到下一行开头(视觉不可见,但实际跨过了换行符)
- ✅ 更稳方案:先
Ctrl+A全选,再按Ctrl+Shift+L - ❌ 常见错误:只点一下光标、没形成任何选区,
Ctrl+Shift+L静默失效 - ⚠️ 注意:
Ctrl+L选中当前行后,再按Ctrl+D追加选中其他行,最后Ctrl+Shift+L也能稳定生效
如何在每行开头或结尾批量插入内容?
行首/行尾不是靠“对齐光标”,而是靠快捷键把所有光标精准定位到逻辑起点或终点,再输入。
- 行尾插入(如加
;):Ctrl+L(选中所有目标行)→Ctrl+Shift+L→ 按End(Windows/Linux)或Cmd+→(macOS)→ 输入内容 - 行首插入(如加
[DEBUG]):Ctrl+L→Ctrl+Shift+L→ 按Home→ 输入;若缩进不一致,Home会停在缩进起始处,此时建议改用列选择(Alt+Shift+↓) - 正则辅助更可靠:搜
^后Ctrl+Shift+L可统一在行首生成光标;搜$同理用于行尾
Ctrl+Click 加光标没反应?检查 drag_text 配置
默认开启的 drag_text 会让 Ctrl+Click(Windows/Linux)优先触发文本拖动,而不是添加光标——这是最常被忽略的配置项。
- 打开
Preferences → Settings,确认"drag_text": false - 同时关闭软换行(
"word_wrap": false),否则Ctrl+Click在长行中可能误判点击位置 - 若仍无效,检查是否有插件(如 Emmet)劫持了该快捷键:在
Preferences → Key Bindings中搜索drag_text或add_cursor
匹配全部再编辑:别用 Alt+Enter,要用 Ctrl+Shift+L
Ctrl+F 搜索后按 Alt+Enter(Windows/Linux)只是高亮所有匹配项,并不生成可编辑光标。真正批量编辑必须走 Ctrl+Shift+L 这一步。
- 流程必须是:
Ctrl+F输入词 → 按Enter跳到第一个匹配 → 再按Ctrl+Shift+L - 若某处不想改(比如字符串里的同名变量),先按
Ctrl+K,再按Ctrl+D跳过当前项 - 输错内容后立刻按
Ctrl+U可撤销输入并恢复光标数;但一旦按了方向键或Esc,光标就彻底合并,无法回退
真正卡住人的从来不是功能不存在,而是光标位置和选区边界这种肉眼难辨的细节——尤其是换行符是否被包含、drag_text 是否关闭、End 键是否落在硬行尾。这些地方一错,整个多光标链路就断了。

















