原生快捷键足够应付90%的多行编辑场景,插件仅补10%硬缺口;Ctrl+Shift+L按换行符切片生成光标,需确保选区含\n;Ctrl+D严格匹配词边界与大小写;Alt+Shift+拖拽列选依赖等宽字体与关闭软换行。

原生快捷键足够应付 90% 的多行编辑场景,插件只补那 10% 的硬缺口——别一上来就装 MultiEditUtils,先搞清 Ctrl+Shift+L、Ctrl+D、Alt+Shift+拖拽这三组操作各自生效的边界条件。
Ctrl+Shift+L 为什么只生成一个光标?
它不看“你选了几行”,只按选区里的 \n 字符切片:每遇到一个换行符,就在其前位置放一个光标。没反应或只出一个光标,基本是选区没跨行——鼠标松手早了,最后一行的换行符没被包含进去。
- 安全做法:先按
Ctrl+L(Windows/Linux)或Cmd+L(macOS)逐行选中目标行,再按Ctrl+Shift+L,100% 拆成多光标 - 光标落在缩进空格上?因为你选区里包含了开头的空格或制表符;想统一加前缀(如
//),得先按Home把所有光标拉到行首 - 想在每行末尾加内容?按
Ctrl+Shift+L后立刻按End(或Ctrl+→),再输入,避免覆盖原有内容
Ctrl+D 连续按却跳过了目标词
Ctrl+D 不是模糊搜索,它严格匹配当前光标所在词的完整边界、大小写和下划线。第一次按会自动双击取词,后续才逐个匹配。光标停在 user_name 中间,可能只取到 _name,后续全错。
- 双击选中你要的完整形式(比如
user_id),再连按Ctrl+D,避免被单词边界截断 - 注释里有同名字符串干扰?按
Ctrl+K再按Ctrl+D跳过当前高亮项,光标保留在原位 - 想匹配子串(比如在
username_input里也命中user),得先关掉match_whole_word,或手动双击选中user再按Ctrl+D
Alt+Shift+拖拽列选择总偏移或失效
列选择不是“视觉对齐”,而是“从光标所在列开始,向下/向上延伸相同列数”。某行对应列为空格或制表符时,Sublime 会把光标移到该行行尾——这是正常行为,不是 bug。
- 必须关闭软换行(
word_wrap: false),且使用等宽字体(如Consolas或Fira Code),否则视觉错位 - 中英文混排慎用:中文字符占位宽度 ≠ ASCII,Sublime 按字符数定位,视觉上必然偏移
- 列选择状态下不能用
Ctrl+D、Ctrl+U或方向键扩展光标——必须先按Esc退出,才能切回普通多光标流程
什么时候必须装 Sublime-MultiEditUtils?
当你要做原生做不到的事:比如选中 user.name、profile.id、data.version 后,按 . 一键拆成三组独立光标;或多行长度不一时,强制所有光标对齐到第 15 列;或同时把 user_name、USER_ID、UserName 统一转成 userName。
- 命令统一入口是
multi_edit_utils,靠args.operation切换行为,结构清晰、冲突少 - Mac 上装完没反应?检查路径是否为
~/Library/Application Support/Sublime Text 4/Packages/,不是Sublime Text 3目录 - 命令面板搜不到?必须彻底退出 Sublime Text 再打开,不是重载窗口
真正卡住人的从来不是功能有没有,而是光标在哪、选区含不含 \n、当前模式是否允许叠加——这些细节一旦错位,操作就失效。别怪快捷键“不灵”,先确认你触发它的姿势对不对。

















