Ctrl+D仅增量选中下一个相同词,非全选;真正一键全选需用Ctrl+Alt+G(Win/Linux)或Ctrl+Cmd+G(macOS),前提是手动选中纯标识符、关闭正则模式且大小写设置正确。

Sublime 的多光标不是“开启一个模式”,而是靠快捷键实时叠加光标位置——按错一次方向键、Esc 或 Ctrl+X 就可能全丢,所以关键不是“怎么开”,而是“怎么稳住、怎么精准加、怎么安全改”。
Ctrl+D 为什么只选中了 2 个而不是全部?
它不是全量匹配,而是严格按当前选区做字面+边界匹配:双击选中 user_id 后按 Ctrl+D,只会找完整单词 user_id(不匹配 user_id_list 或注释里的 /* user_id */)。常见失效原因:
- 没先双击或手动选中目标词,光标停在空格/符号上,
Ctrl+D自动选中的是意外内容 - 文件里混用大小写(
UserIDvsuser_id),而查找面板没关Match Case - 中间某处有缩进差异或空行,打断了连续匹配节奏,导致后续跳过
- 想跳过干扰项(比如字符串里的同名变量),得按
Ctrl+K Ctrl+D主动跳过,不能靠连按
Ctrl+Shift+L 按了没反应?检查选区是否“含换行符”
这个命令本质是「把选区按 \n 切片,每片末尾加一个光标」。它对纯光标位置无效,也不认“视觉上看起来是多行”的松散选择。
- ✅ 正确做法:先用
Ctrl+L选中第一行 → 再按Ctrl+Shift+L→ 接着按Ctrl+↓追加下一行 → 最后按Ctrl+Shift+L拆出全部光标 - ❌ 常见翻车:鼠标拖选时没拉到行尾换行符,最后一行没被识别为独立行;或选中了空行,Sublime 默认忽略
- ⚠️ 插件冲突:某些插件(如 Emmet)会劫持
Ctrl+Shift+L,可在Preferences > Key Bindings中搜索split_selection_into_lines确认绑定是否正常
正则匹配后怎么让光标只落在引号内?
直接 Replace All 是粗暴覆盖,而 Ctrl+Alt+Enter 才是精准控制光标落点的核心操作——它把正则捕获组($1)的位置变成光标,而非整个匹配。
- 打开
Ctrl+H,输入正则如id="([^"]*)",勾选Regular expression和Match Case(按需) - 点
Find All,确认预览区高亮了所有id="xxx"的完整匹配 - 按
Ctrl+Alt+Enter,此时只有每个xxx(即$1)区域出现光标,引号本身不受影响 - 直接输入新值,或按
Ctrl+Shift+→选中整个捕获内容再删改——比全局替换更可控,也避免误改其他id=场景
列选择和多光标不能共存,切换前必须清场
列选择(Alt+鼠标拖拽 或 Ctrl+Shift+↑/↓)和多光标是互斥状态:一旦进入列选,Ctrl+D 失效,Esc 也不会退出列选,而是直接清空所有副光标。
- 列选状态下,想切回多光标,必须先点空白处或按
Esc退出列选,再重新构建多光标 - 系统快捷键冲突常见于远程桌面或中文输入法下:
Alt+拖拽可能触发窗口管理,此时改用命令面板Ctrl+Shift+P输入Column Selection手动开启 - 列选后光标默认对齐,但如果某行该列为空(比如字段缺失),光标会自动 fallback 到行尾,这时需先用正则统一补空占位,再列选
真正卡住人的从来不是快捷键记不住,而是光标在哪、为什么消失、以及那个没被你注意到的换行符或空格——多光标编辑的精度,永远取决于你对选区边界的控制力。

















