sublime text多光标编辑无开关,全靠快捷键实时叠加;光标消失因误按esc等键;ctrl+shift+l需选中换行符才拆多行;列选择须等宽字体+alt+shift拖动;drag_text必须设为false才能可靠ctrl+click。

Sublime Text 没有多行编辑的“设置开关”,所有操作都靠快捷键实时叠加光标——按错一个键(比如 Esc、方向键、Ctrl+X),光标就全消失;理解这点,比背快捷键更重要。
Ctrl+Shift+L 拆光标只出一个?选区没包住换行符
它不是“识别多行”,而是把当前选中的文本按 \n 切片,每切一刀放一个光标。没反应或只出一个光标,基本等于你漏掉了换行符。
- 鼠标拖选时,最后一行末尾必须覆盖到换行符(视觉上看似选中了,实际可能没选中
\n) - 安全做法:先用
Ctrl+L(Windows/Linux)或Cmd+L(macOS)逐行选中目标行,再统一按Ctrl+Shift+L - 光标默认落在每行末尾(
\n前),想加前缀(如//)?先按Home把所有光标拉到行首;想加后缀(如;)?按End再输 - 缩进不一致时,光标会歪——因为它是按字符位置落点,不是按逻辑列对齐
Ctrl+D 选不全变量?match_whole_word 和大小写在拦路
Ctrl+D 不是模糊搜索,而是从当前选中内容出发,严格匹配字面完全一致的下一个片段。双击选中 user_id 后连按 Ctrl+D,跳过 user_id_list 和 USER_ID 是正常行为。
- 确保双击选中的是你要的完整形式(比如
userName而不是只选中name) - 注释里有同名字符串干扰?按
Ctrl+K再按Ctrl+D跳过当前高亮项 - 想一次性全选全部匹配?用
Alt+F3(Windows/Linux)或Ctrl+Cmd+G(macOS),但注意上限约 10000 处,超量静默丢弃 - 误按太多?
Ctrl+U可撤销上一次光标添加;Esc直接清空所有光标,只剩最后一个
Alt+Shift 拖不动列选择?字体或触发方式错了
列选择不是快捷键失效,而是两个条件没同时满足:必须 Alt+Shift+鼠标拖动(Windows/Linux),且编辑器使用等宽字体。单独按 Alt 或用非等宽字体(如系统 UI 字体),都会错位。
- 拖动时某行太短,光标停在该行尾——这是正常行为,不是 bug
- 视觉偏移?换成
Consolas或Fira Code立刻稳定 - 中英文混排慎用:中文字符占位宽度 ≠ ASCII,Sublime 按字符数定位,视觉上必然偏移
- 列选择状态下不能用
Ctrl+D、Ctrl+U或方向键——必须先按Esc退出,才能切回多光标模式 - 文件只读时,列编辑会静默失败,无提示
Ctrl+Click 光标不联动?drag_text 开着就废了
默认开启 drag_select 时,鼠标点击会触发拖拽而非增光标。你以为点了三处,其实只是在拖文本——输入只响应最后一个光标。
- 真正做法:按住
Ctrl(Windows/Linux)或Cmd(macOS)逐点单击,不拖拽 - 若已误拖拽,按
Esc清空所有光标再重试 - 必须把配置项
drag_text设为false,否则Ctrl+Click永远不可靠 - 快速纵向增减光标?用
Ctrl+Alt+↑/↓(Windows/Linux)或Cmd+Option+↑/↓(macOS)
最易被忽略的点:所有多光标操作都依赖「当前光标/选区状态」,命令面板弹出即冻结多光标,正则替换启用与否直接影响 Ctrl+D 和 Alt+F3 的匹配范围,而 drag_text: false 这个配置项不设,其他技巧全打折扣。











