Sublime Text多光标编辑是处理重复代码最直接可控的方式:1. Ctrl+D逐词选中,适用于语义一致标识符批量重命名;2. Alt+F3全选相同文本,需注意字符串内误匹配;3. Ctrl+Shift+L行转光标,用于结构化多行编辑;4. Ctrl+Click手动布设光标,灵活应对不规则修改;5. 操作前建议保存以防数据丢失。

Sublime Text 的多光标不是“锦上添花”,而是处理重复代码时最直接、最可控的编辑路径——它绕过了正则的语法门槛和查找替换的副作用,尤其适合临时改、批量调、结构微调等真实场景。
用 Ctrl+D(macOS 是 Cmd+D)逐个选中相同词
这是最常用也最容易误用的方式。按下一次 Ctrl+D 会选中光标所在单词;再按一次,会跳到文档中下一个完全相同的单词并追加选中;继续按,就不断扩展选中范围。
- 适用场景:变量名、函数名、类名等语义一致的标识符批量重命名,比如把所有
user_name改成username - 容易踩的坑:
Ctrl+D默认匹配“整个单词”,但如果你光标停在user_name中间(比如在_上),它可能只选中_或触发错误匹配;务必确保光标落在完整单词内且未被部分选中 - 如果跳过了想要的项,按
Ctrl+K可跳过当前匹配,再按Ctrl+D继续往下找
用 Alt+F3(macOS 是 Ctrl+Cmd+G)一次性选中全部相同文本
这个操作不依赖光标位置是否精准,也不需要反复按键,适合已确认目标文本唯一、无歧义的场景。
- 适用场景:HTML 属性值统一加引号、JSON 键名补双引号、日志中固定前缀(如
[ERROR])批量高亮或替换 - 注意:它会匹配所有完全相同的字符串,包括注释里、字符串字面量里的内容。比如想改
id,但代码里有"id": 123和// id is required,两者都会被选中——这不是 bug,是设计如此 - 若只想匹配“独立单词”,先用
Ctrl+H打开替换面板,勾选Match Whole Word(图标为\b),再执行Alt+F3,就能规避字符串内误匹配
用 Ctrl+Shift+L(macOS 是 Cmd+Shift+L)把每行转成一个光标
这是处理“结构相同、内容不同”的多行数据的核心操作。你不需要任何文本匹配逻辑,只要行数对得上,就能稳稳控制每一行末尾或选中区域的光标位置。
- 适用场景:给每行末尾加逗号、在每行开头插入
return、把多行 SQL 字段名快速包裹成`field`、将 CSV 数据列对齐后批量补引号 - 关键细节:必须先手动选中多行(比如拖选、
Ctrl+L连续选行),再按Ctrl+Shift+L,否则无效;选中区域如果是跨行的矩形块,它会按行拆分光标,而不是按字符位置对齐 - 配合鼠标竖向选择更灵活:按住
Alt(Windows/Linux)或Option(macOS),再鼠标左键拖动,可拉出纯纵向列选区,适合修改对齐的缩进、序号、分隔符等
用 Ctrl+Click(macOS 是 Cmd+Click)手动放置任意光标
当重复模式不规则、或只改其中几处时,这是最自由也最安全的方式。你可以完全跳过自动匹配逻辑,靠肉眼判断哪里该加光标。
- 适用场景:修复某几个特定位置的拼写、在混排的配置文件中只改三处 host 地址、调试时临时在多个函数入口加
console.log - 性能影响:光标数量没有硬性上限,但超过 50 个后输入响应可能变慢(尤其在老旧机器或大文件中),建议改完立刻按
Esc退出多光标状态 - 别忘了撤销:多光标状态下按
Ctrl+Z是撤销所有光标位置的变更,不是单个光标的历史;若想回退某一步操作,先按Esc退出多光标,再用Ctrl+U(软撤销)回到上一个光标位置
真正卡住人的往往不是功能不会用,而是没意识到:多光标编辑本身不保存状态,一旦执行了剪切、粘贴、删除或输入,就不可逆地改变了文本。所以动手前,最好先 Ctrl+S 保存副本,或确认当前文件已纳入版本控制——毕竟快,不该以丢数据为代价。

















