Ctrl+Shift+L是VSCode中多行末尾批量加分号的首选方案,因其将选中区域按换行符切分并在每行末尾自动放置光标,随后输入分号即可同步生效,无需正则、插件或逐行操作。

直接用 Ctrl+Shift+L 就能搞定多行末尾加分号,不需要正则、不用插件,也不必一行行手动按 End + ;。
为什么 Ctrl+Shift+L 是首选方案
它把当前选中区域按换行符切开,每行末尾(准确说是每行选区结束位置)自动放一个光标。只要提前选中目标行,后续输入就同步生效。
- 选中多行后按
Ctrl+Shift+L,光标会落在每行最后一个字符之后(含换行符),此时输;就是真正在行尾加 - 如果某行末尾有空格或制表符,光标可能停在空格上——建议先用
Ctrl+Shift+→或End把光标移到行尾再执行,更可控 - 该操作对注释行、空行、缩进不齐的代码都有效,但不会跳过被折叠的代码块
- 注意:若选中内容跨行但未覆盖整行(比如只选中中间一段),
Ctrl+Shift+L仍按换行符拆,光标落在每段末尾,而非每行末尾
Ctrl+D 也能做,但容易踩坑
当你要加的不是固定符号,而是带上下文的补全(比如 ; 前还要加空格),Ctrl+D 配合单词匹配反而更灵活。
一款AI工具,主要用于手动 Telegram 斜杠命令,用于查看 Codex 状态及使用情况。用户发送 /codex_usage、/codex_usage default、/codex_usage all 等时触发,适合需要提升相关任务效率的用户。
- 先把光标放在某行末尾已有的分号上(或任意可识别的锚点),按
Ctrl+D逐个选中其他分号位置;没分号的行不会被命中,得换方式 - 如果目标行末尾“什么都没有”,
Ctrl+D无法自动定位——它依赖已有文本匹配,不是位置定位 - 误匹配很常见:比如日志里有
time: 12:34:56;和status: ok;,想只改后者,但Ctrl+D会把两个;全选中,因为它们是相同字符 - 此时更适合用
Ctrl+F搜索;$(行尾分号),勾选正则和$锚点,再点Find All,所有匹配处自动带光标
列编辑模式(Alt+鼠标拖拽)不适合加行尾符号
列编辑是竖直框选,光标严格对齐列位置。行尾不等长时,它无法保证所有光标都落在行末——有些会卡在中间,有些掉到下一行开头。
- 例如三行长度分别为 10 / 25 / 8 字符,
Alt+拖拽到第 10 列,第三行光标就落在行中,输;会插在中间,破坏结构 - Windows 下
Alt+↑/↓(Ctrl+Alt+↑/↓)是逐行追加光标,但默认加在当前列,不是行尾;需先按End再触发,步骤变多 - 除非你明确知道所有目标行末尾列数一致(比如 CSV 导出数据),否则别用列模式处理行尾操作
加完分号后光标没消失?这是正常行为
Sublime 不会自动退出多光标模式,光标会一直保留,直到你主动干预。
- 按
Esc是最干净的收尾方式,只保留最后一个光标,其余全部清除 - 如果误按了字母或删除键,所有光标同步响应,可能批量删掉不该动的内容——这时别狂按
Ctrl+Z,先Esc中断多光标,再撤销 - 最隐蔽的风险:光标落在不可见字符上(如 BOM、零宽空格),看起来“没反应”,实际输入已被吞掉;遇到这种情况,用
Ctrl+Shift+P→Convert Indent to Spaces或检查编码格式










