sublime text多行光标无开关设置,需禁用drag_text、确保选中换行符、用ctrl+l+ctrl+shift+l组合操作,并注意等宽字体与列选择限制。

Sublime Text 没有多行光标“设置”这回事——所有快捷键都是硬编码的,不能改绑定,也不能开/关模式。你唯一能调的,是让默认快捷键不被干扰的几个关键配置项。
为什么 Ctrl+Click 加不了光标?先关 drag_text
默认开启的 drag_text 会让 Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)变成拖动文本,而不是添加光标。点三下只留下最后一个光标,输入只发生在那一个位置。
- 进
Preferences → Settings,在右侧用户设置里加一行:"drag_text": false - 保存后建议重启 Sublime Text(部分版本不重启不生效)
- 点击时避开单词中间、缩进空格区、折叠符号;优先点行首空白处或行尾换行符前
- 远程桌面或某些键盘布局下,系统可能劫持
Ctrl/Cmd键,可临时切英文输入法再试
Ctrl+Shift+L 只出一个光标?你根本没选中换行符
Ctrl+Shift+L 不是“识别多行”,而是把当前选区按 \n 或 \r\n 切片,每切一刀就在换行符前放一个光标。选区不含换行符,它就什么也不做。
- 鼠标拖选时,最后一行末尾必须覆盖到换行符(视觉上看似选中了,实际常漏掉)
- 安全做法:先用
Ctrl+L(Win/Linux)或Cmd+L(macOS)逐行选中目标行,再统一按Ctrl+Shift+L,100% 按行生效 - 光标默认落在每行末尾(
\n前),想加前缀(如//)?拆完立刻按Home;想加后缀(如;)?按End再输 - 如果某行开头有缩进空格,
Home会停在缩进起点;更稳的是用Ctrl+Home(Win)或Cmd+Home(Mac)直抵绝对行首
Ctrl+D 总跳过目标词?它不是搜索,是字面匹配
Ctrl+D 默认开启 match_whole_word: true,且严格匹配大小写、下划线和单词边界。它不是“搜词”,而是“从当前选中内容出发,找下一个字面完全一致的片段”。
- 双击选中
user_id后连按Ctrl+D,会跳过user_id_list和USER_ID——前者多了_list,后者大小写不符 - 光标停在
username_input中间,可能只取到name_input,后续全错;想匹配子串,得先手动双击选中user再按Ctrl+D - 注释里有同名字符串干扰?按
Ctrl+K再按Ctrl+D,跳过当前高亮项,光标保留在原位 - 一次性全选所有匹配项用
Alt+F3(Win/Linux)或Ctrl+Cmd+G(macOS),但注意上限约 10000 处,超量静默丢弃
列选择(竖向编辑)错位?等宽字体 + 关闭软换行是硬门槛
列选择(Alt+Shift+拖拽 或 Option+Shift+拖拽)本质是矩形框选,行为高度依赖等宽字体和字符对齐。它和多光标是互斥模式,不能混用。
- 必须用等宽字体(如
Consolas、Fira Code),系统默认 UI 字体会导致视觉偏移 - 中英文混排时慎用:中文字符占位宽度 ≠ ASCII,Sublime 按字符数定位,视觉上会偏移
- 某行对应列为空格或制表符,Sublime 会自动把光标移到该行行尾——这是正常行为,不是 bug
- 列选择状态下不能用
Ctrl+D、Ctrl+U或方向键扩展光标;必须先按Esc退出,才能切回多光标流程 - 文件是只读状态时,列编辑会静默失败,状态栏右下角显示
read only,需先解除锁定
真正卡住人的从来不是快捷键记不住,而是光标叠加逻辑没理清:它不记状态、不存历史、不区分“模式”,按错一次 Esc、松手早了半秒、选区少一个 \n,所有光标就消失或错位。最稳的操作链永远是——先用 Ctrl+L 选行,再 Ctrl+Shift+L 拆,最后 Home 或 End 对齐位置。











