Sublime Text多光标功能默认启用,需禁用drag_text设置以启用Ctrl+Click添加光标;Ctrl+Shift+L按\n切片生成光标;Ctrl+D严格匹配光标所在词;Ctrl+Shift+↑/↓按列对齐追加光标。

Sublime Text 默认就支持多光标,不需要额外“配置热键”——所有关键操作都已预设,真正要动的是设置项和使用习惯。
为什么 Ctrl+Click 没反应?先关 drag_text
这不是快捷键失效,而是 Sublime 默认开启 drag_text,把 Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)识别为拖动文本,而非添加光标。点十次,只留下最后一个光标。
- 打开
Preferences → Settings,在右侧用户设置中加入:"drag_text": false - 保存后建议重启 Sublime Text,部分版本不重启不生效
- 验证方式:按住
Ctrl后轻点行首空格,应出现新光标,而非拖动整行 - 点击位置优先选行首空白、行尾换行符前、或连续空格段;避开单词中间、折叠符号、缩进区域
Ctrl+Shift+L 只生成一个光标?检查选区是否含 \n
这个命令不是“识别多行”,而是把当前选区按换行符 \n 切片:每遇到一个 \n,就在它前面放一个光标。选区里没有 \n,就只出一个光标。
- 鼠标拖选容易漏掉最后一行末尾的换行符 → 实际选中 5 行却只生成 4 个光标
- 安全做法:先用
Ctrl+L连续点击目标行(每按一次加一行),再统一按Ctrl+Shift+L - 若光标落在缩进空格上,说明选区含开头空格;按
Home把所有光标拉到行首(含缩进),再按一次跳过缩进 - 大文件慎用
Ctrl+A后接Ctrl+Shift+L——光标数 = 行数,容易卡顿且误操作
Ctrl+D 总跳过目标词?光标位置决定匹配起点
Ctrl+D 不是搜索变量名,而是从当前光标所在词出发,找下一个**完全相同**的字符串片段——包括大小写、下划线、边界空格,甚至引号内的内容。
- 光标停在
user_id中间(比如删掉下划线只剩user),后续就只匹配user,不是user_id - 双击选中再按才可靠;若高亮带空格、引号或点号(如
"user_id"),匹配立刻失败 - 想跳过某处(比如注释里的
// user_id),按Ctrl+K再按Ctrl+D - 需要子串匹配(如在
username_input里也命中user),得先手动双击选中user,再按Ctrl+D
Ctrl+Shift+↑/↓ 对齐加光标失败?列位置比视觉更重要
Ctrl+Shift+↑ 和 Ctrl+Shift+↓ 是在当前列向上/向下追加光标,不是“列选择”。它要求目标行在该列位置有可编辑字符(不能是空行、制表符或超出行宽),否则光标会自动跳到行尾。
- 某行该列是
tab或空格 → 光标移到该行行尾;解决办法是先运行Ctrl+Shift+P → Convert Indent to Spaces统一缩进 - 视觉错位大概率因字体非等宽(如系统默认 UI 字体);换成
Consolas或Fira Code立刻稳定 - 软换行开启 → 看似对齐实则跨行错位;关闭方式:
Ctrl+Shift+P → Toggle Word Wrap - 列选择(
Alt+Shift+拖拽)与多光标互斥:完成列选后必须按Esc退出,才能继续用Ctrl+D或Ctrl+Click
最易被忽略的其实是光标顺序和输入延迟:用 Ctrl+Shift+L 拆出几百个光标后,按 Enter 或 Backspace 会同步作用于所有位置,但一旦其中某行是只读或被锁,可能静默失败;超过约 2000 个光标时,Sublime 会开始丢弃部分光标而不提示。











