ctrl+shift+l按换行符切片选区加光标,需确保选中\n;ctrl+d全字匹配,须双击选词;drag_text开启时ctrl+click会拖动文本;列对齐依赖等宽字体与统一缩进。

Ctrl+Shift+L 按行拆分光标,但选区必须含换行符
它不是“识别多行”,而是把当前选区按 \n 切片:每遇到一个换行符,就在它前面放一个光标。没选中 \n,就只出一个光标。
常见翻车点:
- 鼠标拖选 5 行,松手时漏掉最后一行末尾的
\n(视觉上像选中了,实际没覆盖) - 选区开头带缩进空格 → 光标落在空格上,输内容会覆盖缩进
- 全选大文件后按
Ctrl+Shift+L→ 光标数 = 行数,极易卡顿或误操作
安全做法:
- 先用
Ctrl+L连续点击目标行(每按一次加一行),再统一按Ctrl+Shift+L - 选完后按
Home把主光标拉到行首,再执行,确保所有光标对齐行首 - 处理前可运行
Ctrl+Shift+P→Trim Trailing White Space清理不可见字符干扰
Ctrl+D 逐词匹配,但只认字面全匹配
Ctrl+D 不是模糊搜变量名,而是从当前选中词出发,找下一个完全相同的字符串片段——包括大小写、下划线、边界空格,甚至引号内的内容。
典型失效场景:
- 光标停在
user_id中间(比如停在_id上),结果只匹配到_id,后续全错 - 想改
userName,却跳过了user_name(下划线 vs 大驼峰)和USER_NAME(大小写不符) - 注释里有
// user_id,也被一起选中修改
可靠做法:
- 双击选中完整目标词(如
user_id),再按Ctrl+D - 想跳过某处,按
Ctrl+K再按Ctrl+D - 不确定是否全字匹配?先用
Ctrl+F输入\buser_id\b验证正则边界
Ctrl+Click 加不了光标?先关 drag_text
默认开启的 drag_text 会让 Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)拖动文本,而不是添加光标。点十次,只留下最后一个光标。
验证方式:
- 按住
Ctrl后轻点行首空格,应出现新光标,而非拖动整行 - 若拖动了,说明
drag_text还开着
关闭方法:
- 打开
Preferences → Settings - 在右侧用户设置中加入:
"drag_text": false - 保存后建议重启 Sublime Text,部分版本不重启不生效
点击位置也有讲究:
- 优先点行首空白、行尾换行符前、或纯空格段
- 避开单词中间、折叠符号、缩进区域(尤其是 Tab 缩进行)
列对齐加光标失败?别信眼睛,看字符列
Ctrl+Shift+↑/↓ 是按逻辑列向上/向下追加光标,不是视觉对齐。它要求目标行在该列位置有可编辑字符(不能是空行、超出行宽、或全是空格)。
常见偏移原因:
- 某行该列是空格或制表符 → 光标自动跳到该行行尾
- 缩进混用 Tab 和空格 → 列位置计算错乱
- 字体非等宽(如系统 UI 字体)→ 中文/ASCII 宽度不一致,视觉错位
解决办法:
- 先运行
Ctrl+Shift+P→Convert Indent to Spaces统一缩进 - 换成等宽字体(如
Consolas或Fira Code) - 想从第 12 列开始加光标?先用
Ctrl+Shift+→扩展选区到目标列,再按Ctrl+Shift+L
列对齐操作无法跨文件,且不能与 Ctrl+D 混用;一旦误按方向键或 Esc,所有光标立即消失——这不是 bug,是设计如此。











