Sublime Text多光标依赖精准选区与设置:Ctrl+Shift+L按实际换行符拆分,需确保选中\n;Ctrl+D严格全词匹配,须双击选词;drag_text必须设为false才能Ctrl+Click加光标;列对齐需等宽字体且目标列有字符;Esc等操作会清除非主光标,推荐Find All替代盲目叠加光标。

Sublime Text 的多光标不是“多重选择开启模式”,而是靠快捷键实时叠加光标位置——选区不干净、drag_text没关、漏了换行符,光标就加不上或输不进去。
Ctrl+Shift+L 拆不出多个光标?你没选中换行符
Ctrl+Shift+L 不是按“看起来几行”来拆,只扫描当前选区里实际存在的 \n。鼠标拖选时哪怕差一个像素没盖住最后一行末尾的换行符,它就当单行处理,只放一个光标。
- 安全做法:先用
Ctrl+L连按选中目标行(每按一次加一行),再统一按Ctrl+Shift+L - 如果光标落在缩进空格上,说明选区含开头空格;选完后按
Home把所有光标拉到行首 - 大文件慎用
Ctrl+A后接Ctrl+Shift+L——光标数 = 行数,容易卡顿且误操作
Ctrl+D 总跳过目标词?它只认字面全匹配
Ctrl+D 不是搜索变量名,而是从当前光标所在词出发,找下一个**完全相同**的字符串片段:大小写、下划线、边界空格、引号都必须一致。光标停在 user_id 中间,可能只取到 _id,后续全错。
- 双击选中完整词(如
user_id)再按Ctrl+D,比靠光标自动取词可靠得多 - 想跳过某处(比如注释里的
// user_id),按Ctrl+K再按Ctrl+D - 需要子串匹配(如在
username_input里也命中user),得先手动选中user,再按Ctrl+D
Ctrl+Click 加不了光标?drag_text 在拦截
默认开启的 drag_text 会让 Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)优先拖动文本,而不是添加光标。点十次只留下最后一个光标,输入也只发生在那一个位置。
- 打开
Preferences → Settings,在右侧用户设置中加入:"drag_text": false - 保存后建议重启 Sublime Text,部分版本不重启不生效
- 验证方式:按住
Ctrl后轻点行首空格,应出现新光标,而非拖动整行 - 点击位置优先选行首空白、行尾换行符前、纯空格段;避开单词中间、折叠符号、缩进区域
列对齐加光标失败?别信眼睛,看字符列号
Ctrl+Shift+↑/↓ 是在当前列向上/向下追加光标,不是“视觉对齐”。它要求目标行在该列位置有可编辑字符(不能是空行或超出行宽),否则光标自动跳到行尾。
- 某行该列是空格或制表符 → 光标移到该行行尾;解决办法是先运行
Ctrl+Shift+P → Convert Indent to Spaces统一缩进 - 字体必须是等宽(如
Consolas、Fira Code),UI 字体或中英文混排会导致视觉偏移 - 列选择状态下无法用
Ctrl+D或Ctrl+U;必须先按Esc退出才能切回多光标模式
最常被忽略的其实是状态脆弱性:按 Esc、方向键、剪切粘贴、切 Tab、甚至焦点离开窗口,都会清空非主光标。真正稳定的批量编辑,往往不是靠“加很多光标”,而是先用 Find All(Ctrl+H → Find All)把匹配项全选中,再输入——这时候每个匹配开头都有一个光标,且不会被误触清掉。

















