最直接的模板生成路径是Ctrl+D逐词匹配+回车换行:先写“种子”,再用Ctrl+D批量选中相同结构,最后统一输入或回车扩展;需双击选中整段代码再按Ctrl+D,避免因光标位置、大小写或空格导致匹配失败。

Ctrl+D 逐词匹配 + 回车换行,是最直接的模板生成路径
想快速生成 5 行 console.log()、10 行 item = [] 或一串带序号的 field_1~field_5,别手动复制粘贴。核心思路是:先写一个“种子”,再用 Ctrl+D(macOS 是 Cmd+D)把相同结构批量选中,最后统一输入或回车扩展。
常见翻车点:Ctrl+D 默认只匹配「当前光标所在位置的完整单词」,且严格区分大小写和空格。比如光标停在 log 中间,它不会命中 console.log;双击选中 console.log() 后按 Ctrl+D,它才开始找所有完全一致的调用。
- 安全做法:先双击选中你要复用的整段代码(含括号、引号),再按
Ctrl+D扩展;按一次加一个,边按边看右下角状态栏提示匹配数 - 想跳过某处(比如已有的一行不想改)?按
Ctrl+K再按Ctrl+D,当前高亮项被跳过,光标保留在原位 - 输完内容后按
Enter,所有光标会同步换行——但注意:这不是“插入新行”,而是把当前行尾的光标移到下一行首;如果想每行都保留原结构并追加新行,得先用Ctrl+Shift+L拆光标到行尾再操作
Ctrl+Shift+L 拆行光标 + Tab/Backspace,适合对齐型模板
当你有一组已存在的结构(比如 8 行函数参数、6 行 JSON key),想统一加前缀、补逗号、套括号,Ctrl+Shift+L 是比鼠标拖更稳的选择。它不依赖内容匹配,只认换行符,所以对不规则文本也可靠。
关键前提:必须先选中包含换行符的文本块。只点一下光标或只选中单行,Ctrl+Shift+L 会静默失败,甚至弹出命令面板(说明快捷键被拦截了)。
- 正确流程:鼠标拖选从第一行开头到最后一行末尾(确保覆盖最后一个
\n),松手后立刻按Ctrl+Shift+L→ 每行末尾出现一个光标 - 加前缀(如
//):光标就位后直接输入,所有行同步响应;删后缀(如逗号):按Backspace即可 - 若某行结尾有空格或
\t,光标会落在空格后,容易误删;建议提前运行Ctrl+Shift+P→ 输入Trim Trailing White Space清理
Alt+拖拽列选择 vs Ctrl+Click,选错模式会导致模板错位
列选择(Alt+鼠标拖拽,Windows/Linux)不是多光标,但它常被用来生成“竖向模板”,比如在多行开头同时插入 const 、或在 CSV 第二列统一加引号。它的行为和 Ctrl+Click 根本不同,混用必出问题。
Alt+拖拽 生成的是矩形选区,松手即转为多光标;而 Ctrl+Click 是独立坐标点。前者要求各行长度一致,否则短行末尾没光标;后者无此限制,但需提前关闭 drag_text,否则点击会拖动文本而非加光标。
- 启用列选择前,确认系统没劫持
Alt键(比如 Windows 的Alt+Tab);冲突时改用命令面板输入Column Selection开启 -
Ctrl+Click前,务必检查用户设置里有这一行:"drag_text": false;否则点哪拖哪,根本加不了光标 - 列选择状态下无法使用
Ctrl+D;想切回词匹配模式,先按Esc取消列选
正则 + Find All,是生成动态模板的唯一可控方式
静态复制不够用时——比如要生成 user_1 到 user_10,或给每行末尾加递增 ID——Ctrl+H 配合正则才是正解。它不靠光标叠加,而是靠查找结果直接生成光标,每个匹配位置一个光标,且支持捕获组替换。
典型操作:打开 Ctrl+H,勾选 .*(正则模式)和 Aa(大小写敏感按需),输入 ^$ 匹配空行,点 Find All → 所有空行开头自动出现光标,接着输入 user_,再配合插件或手动补数字。
- 想让每行生成不同内容(如序号)?纯多光标做不到,必须用正则替换:查找
^(.*)$,替换为user_$1,再用外部脚本或 Sublime 插件(如 Text Pastry)注入数字 -
Find All后没光标?检查是否误点了Replace或Replace All;也可能是文件换行符混乱(\r\n和\n混用),先统一为 Unix 格式(Ctrl+Shift+P→Set Line Endings: Unix) - 正则里用
^或$失效?大概率是行首/行尾有不可见空格;先执行Trim Trailing White Space,再试
真正卡住人的,从来不是快捷键记不住,而是光标加在了不该加的位置、或者以为“全选了”其实漏了几行——尤其是混合了空格、制表符、不同换行符的旧项目里,Ctrl+Shift+L 和 Find All 的行为会悄悄偏移。动手前花三秒看一眼状态栏的匹配数,比重做五次更省时间。











