Sublime Text多光标编辑需按Esc清除选区后再Ctrl+左键添加光标;Ctrl+D逐次匹配单词,Ctrl+Shift+L按行拆分选区;列选(Alt+拖拽)生成垂直光标阵列;导航命令如Ctrl+Shift+G不支持多光标。

如何用鼠标快速创建多个光标选区
Sublime Text 的多光标编辑不是靠“按住 Ctrl + 鼠标点”这种简单组合实现的——默认行为是「Ctrl + 左键单击」(Windows/Linux)或「Cmd + 左键单击」(macOS)会在点击处添加新光标,但前提是当前没有活动选区;如果已有选中文字,它会先取消选区再加光标。
- 想在已有选区基础上追加光标?先按
Esc清除选区,再用Ctrl + 左键点击目标位置 - 连续添加多个光标时,不要拖动鼠标——拖动会触发区域选择,而不是光标添加
- 误点了某处想撤回?按
Ctrl + U(Undo Selection)可逐个撤销最近一次光标添加
如何基于文本内容批量生成光标(Ctrl+D / Ctrl+Shift+L)
真正提升效率的是「语义化选区」:不是手动点,而是让 Sublime 自动识别重复模式并布设光标。
-
Ctrl + D:逐次扩展当前光标所在词的匹配项。第一次按选中光标下的单词,第二次按选中文档中下一个相同单词(按出现顺序),第三次继续……注意它只匹配「完整单词」,且区分大小写(除非你关了match_case) -
Ctrl + Shift + L:把当前选区按行拆分,每行一个光标。比如你选中了 5 行文本,执行后会在每行末尾各加一个光标——适合批量补后缀、删换行符等 - 如果选中的是单个词但想匹配所有相似结构(如所有
class="xxx"中的xxx),先用正则查找class="([^"]*)",勾选Find All,再按Ctrl + Shift + L,就能在每个捕获组开头放光标
如何用列选择(Alt+鼠标拖拽)配合多光标做结构化编辑
列选择本身不等于多光标,但它能生成「垂直对齐的光标阵列」,这是处理表格、对齐代码、批量注释的关键路径。
- 按住
Alt(Windows/Linux)或Cmd + Shift + 2(macOS,需确认是否启用了 Vintage 模式干扰)再鼠标拖拽,划出矩形区域,松手即生成一列光标 - 列选后输入内容,会逐行写入——但要注意:如果某行比列选范围短,该行不会被修改(Sublime 不自动补空格)
- 列选 +
Ctrl + Shift + L组合危险:后者会把列选结果按行切开,导致光标错位。建议列选后直接输入,或先转为普通选区再操作
为什么 Ctrl+Shift+G(跳转到定义)和多光标不兼容
多光标状态下几乎所有导航类命令都会失效或仅作用于主光标(最晚创建的那个),Ctrl + Shift + G 就是典型例子。这不是 bug,是 Sublime 的设计取舍:避免歧义(跳到哪份定义?所有光标都跳?跳完还保持多光标吗?)
- 想在多个变量上同时查看定义?先用
Ctrl + D选中全部,再右键 →Go to Definition—— 这个菜单项会为每个光标单独打开对应文件(可能弹出多个标签页) - 批量重命名变量?别依赖多光标 + F2,改用
Ctrl + H打开替换面板,勾选Whole Word和Case Sensitive,再点Replace All - 插件如
SideBarEnhancements或SublimeCodeIntel通常也不支持多光标上下文,遇到“命令灰色不可点”,基本就是这个原因
多光标真正的边界不在操作数量,而在「命令是否明确支持多光标上下文」——查文档时盯紧插件说明里的 multi-cursor aware 字样,没写的,基本就绕着走。










