ctrl+shift+l 光标只出现在第一行,因 sublime 仅根据选区是否含换行符判断行数,末行未选中换行符即视为单行;鼠标拖选需拖至行尾换行符位置,或先 ctrl+a 全选再操作。

Ctrl+Shift+L 为什么光标只出现在第一行?
它不看“你选了几行”,只认选区里有没有包含换行符。最后一行末尾没选中换行符,Sublime 就当单行处理,自然只出一个光标。
常见错误现象:Ctrl+Shift+L 按完光标全堆在第一行末尾,或干脆只出现一个光标。
- 鼠标拖选时,务必把光标拉到行尾换行符位置(哪怕看不见,多拖一格)
- 更稳的做法:先
Ctrl+A全选,再按Ctrl+Shift+L - 若已选中但失效,用
Ctrl+Shift+P→Split Selection into Lines备份选区,避免重选丢内容
列编辑比 Ctrl+Shift+L 更适合加前缀
想给每行开头加 [DEBUG]?列编辑直接锁定列位置,缩进不一致也不影响。
操作要点:
- 按住
Alt+Shift,从第一行最左空格处向下拖到最后一行对应列 - 确保字体是等宽(
Preferences → Settings中确认"font_face": "Consolas"类) - 输入内容后,所有行对应列同步生效;删也是整列删,不会误删后面代码
Ctrl+D 匹配不到字符串里的子串?
Ctrl+D 默认开启 match_whole_word: true,所以 user_id 不会匹配 "user_id": 123 里的引号内部分。
常见错误现象:连按 Ctrl+D 却跳过目标、卡在无关位置、或根本找不到。
- 双击选中目标词(如
user_id),再按Ctrl+D,它会以选区文本为基准匹配 - 想匹配子串?先开查找面板(
Ctrl+F),关掉Match Whole Word,或用正则\buser_id\b - 跳过某处?按
Ctrl+K再按Ctrl+D,当前高亮项被忽略,光标移向下一处
Ctrl+Click 加光标没反应?
90% 是 drag_text 在作怪。默认开启时,Ctrl+Click 优先拖动已选中文本,不是加光标。
这个设置藏得深,改完必须重启 Sublime 才生效。
- 打开
Preferences → Settings(用户配置),加一行:"drag_text": false - 保存,彻底关闭 Sublime 再启动(仅重载配置不够)
- 点位建议:轻点行首空格、行尾换行符前,或单词中间偏左——太靠近已有选区易触发列选择或双击
多光标不是模式,是实时叠加的瞬时状态。Esc、方向键、Ctrl+X 都会清空所有光标,没有“撤销光标添加”这种操作——Ctrl+U 只能软撤销最近一次输入,不是回退光标数。真正要防的,是误触和选区丢失。











