ctrl+shift+l只在第一行出光标是因为它仅检测选区是否包含换行符,未跨换行符即视为单行处理;正确做法是拖选至行尾换行符位置、全选后执行,或配合find all使用。

Ctrl+Shift+L 为什么只在第一行出光标?
它不判断“你选了几行”,只认选区里是否包含换行符。鼠标拖选时如果没拉到下一行开头(即没跨过换行符),Ctrl+Shift+L 就当成单行处理,只生成一个光标。
常见错误现象:Ctrl+Shift+L 按完所有光标堆在第一行末尾,或干脆只出现一个光标。
- 鼠标拖选务必多拖一格——把光标拉到行尾换行符位置(即使看不见)
- 更稳做法:先
Ctrl+A全选,再按Ctrl+Shift+L - 若已选中但失效,用
Ctrl+Shift+P→Split Selection into Lines备份选区,避免重选丢内容
Find All + Ctrl+Shift+L 才是批量改词的正解
Ctrl+F 搜完按 Alt+Enter(Windows/Linux)只是高亮匹配项,不是生成光标;真正要批量编辑,得靠 Ctrl+Shift+L 把每个匹配点转成独立光标。
操作链路必须是:输入搜索词 → 确保勾选/取消 Match Whole Word 和 Match Case → 按 Enter 跳到第一个匹配 → 再按 Ctrl+Shift+L。
- 想跳过某处?先按
Ctrl+K,再按Ctrl+D,当前高亮项被忽略,光标移向下一处 - 误删了某处匹配?
Ctrl+U可软撤销最近一次输入,但无法回退光标数 - 改完立刻
Esc或方向键会清空所有光标——所以输完新内容就停手,别乱动
行首/行尾批量加内容,别硬拖光标
给每行开头加 [DEBUG]?别用 Ctrl+Shift+L 后狂按 Home 对齐——缩进不一致时极易错位。列编辑才是稳解。
按住 Alt+Shift,从第一行最左空格处向下拖到最后一行对应列;确保字体是等宽(检查 Preferences → Settings 中 "font_face": "Consolas" 类配置)。
- 输入内容后,所有行对应列同步生效;删也是整列删,不会误删后面代码
- 行尾加内容更简单:先
Ctrl+H,开启正则,搜$,点Find All,再按Ctrl+Shift+L,直接输入即可 - 行首同理:搜
^,但注意^在正则中默认匹配行首,无需额外修饰
跨文件批量替换,Ctrl+Shift+F 是唯一入口
Ctrl+H 或右键「替换」只作用于当前文件;菜单栏 Find → Replace 也一样。所谓“多文件批量替换”,Sublime Text 里只有 Ctrl+Shift+F(macOS 是 Cmd+Shift+F)这一个合法入口。
常见错误是填了路径却漏关正则开关,或 Where 栏没填 . 导致只扫子目录。
- Where 填
.表示整个项目根目录(含所有子目录) - 必须点
.*图标或按Alt+R启用正则,否则^、$、\b全无效 -
Replace All后不会自动保存——必须手动Ctrl+Shift+S或点菜单File → Save All
最易被忽略的一点:Find in Files 的结果是静态快照,后续文件修改不会自动刷新匹配项。改完一批后若继续操作,建议重新 Find 验证上下文是否还符合预期。











