Sublime的多光标功能并非“神级”,而是严格依赖选区精准性、快捷键顺序及输入法状态;Ctrl+D按当前选中内容严格匹配,Alt+F3全选匹配项上限10000处,Ctrl+Shift+L仅按换行切片不自动对齐,drag_text默认启用会劫持Cmd/Ctrl+Click行为,需手动关闭。

Sublime 的多光标不是“神级功能”,它只是按快捷键实时叠加光标——没选对内容、按错顺序、或输入法卡住,光标压根不会出现。
Ctrl+D 总跳过目标词?检查选区和匹配逻辑
它不“猜你想改什么”,只严格按当前选中内容匹配。双击 user_id 时若带了空格或点号,后续所有 Ctrl+D 都会按错误片段搜索;光标停在 user_name 中间,可能只取到 _name,导致全崩。
- 务必双击变量名,确认高亮区域完全包裹
user_id,不含前后空格、引号、句点 - 想跳过某处(比如字符串里的同名内容):先按
Ctrl+K,松手再按Ctrl+D - 误按太多?按
Ctrl+U撤销上一次光标添加(不是撤销输入内容) - 想一次性全选所有匹配项:用
Alt+F3(Windows/Linux)或Ctrl+Cmd+G(macOS),但注意超过 10000 处时默认只建前 10000 个光标
Ctrl+Shift+L 光标全歪了?它根本不做对齐
Ctrl+Shift+L 的作用是“把当前选区按换行符切片,每行末尾放一个光标”。它不管缩进、不管对齐、也不管你心里想从哪开始——选中一段缩进代码后直接按,所有光标会落在各行最后一个非空白字符后面。
- 安全做法:先用
Ctrl+L连续选中目标行(确保覆盖换行符),再按Ctrl+Shift+L - 想统一从行首编辑:按
Home(不是←),所有光标同步跳到各自行首(含缩进);再按一次Home,跳过缩进到真正行首 - 要加前缀(如
//):别用Ctrl+Shift+L,改用列选择——Shift+Alt垂直拖动(Windows/Linux)或Shift+Cmd(macOS) - 列选择后不能用
Ctrl+D,必须先按Esc退出列选状态
鼠标点不出光标?drag_text 在捣鬼
默认开启的 drag_text 会让 Ctrl+Click(Windows/Linux)或 Cmd+Click(macOS)优先尝试拖动文本,而不是添加光标。这不是快捷键失效,是行为被劫持了。
- 必须手动关掉:打开
Preferences → Settings,在用户设置里加一行:"drag_text": false - 点击位置很关键:避免点在已有选区边缘、单词中间或空行缩进处;优先点行首、行尾或纯空格位置
- 远程桌面或某些键盘布局下,
Alt+Tab等系统热键可能拦截Alt+拖动,可改用命令面板:Ctrl+Shift+P→ 输入Column Selection手动开启
正则替换后想每个匹配都带光标?Find All 不是自动的
Find All(Alt+Enter)不是“一键加光标”,而是把所有匹配项选中并置入多光标状态——前提是搜索范围正确、正则无语法错误、且你没误点 Replace 或 Replace All。
- 先打开查找面板,启用正则(
Alt+R),填好模式(如\bcount\b) - 点
Find确认结果准确,再按Alt+Enter全选匹配项 - 如果
Find All没反应,检查是否勾选了In Selection(只在当前选区内搜),或路径/编码是否限制了扫描范围 - 避免递归污染:直接搜
count替换成totalCount可能形成TotalTotalcount,必须用\bcount\b锚定单词边界
最常被忽略的点:光标一旦生成,Esc、方向键、Ctrl+X 都会立刻清空全部——不是功能坏了,是你没注意光标落在哪,也没意识到它如此脆弱。


















