sublime中完美多行复制粘贴需分场景操作:对外粘贴用ctrl+l→ctrl+c→ctrl+v;文件内批量填不同值用ctrl+shift+l+ctrl+v行映射;统一粘贴需插件或自定义命令。

Sublime 里“完美多行复制粘贴”不是靠一个快捷键,而是分场景选对操作:要对外粘贴(微信、终端、其他编辑器),必须走 Ctrl+L → Ctrl+C → Ctrl+V;要在当前文件内批量填不同值,得用 Ctrl+Shift+L + Ctrl+V 行映射;想每处都粘同一段内容,得插件或自定义命令。
复制整行到剪贴板,为什么不能直接按 Ctrl+C
因为 Sublime 的 copy 命令只作用于选区,没选中就什么也不复制——哪怕光标停在行中间,Ctrl+C 实际是空操作。你粘出来的还是上次的内容,甚至为空。尤其在 JSON、YAML 或含 Unicode 的行里,失效概率极高。
可靠做法只有两步:Ctrl+L(选中当前行,不含换行符)→ Ctrl+C(进系统剪贴板)。再按一次 Ctrl+L 可包含换行符,确保粘到终端时格式不崩。
- 连按三次
Ctrl+L会选中段落(以空行为界),不是单行,慎用 - 想复制连续多行?
Ctrl+L选第一行后,按住Ctrl+Shift+↓向下扩展选区 - 别信“光标停着就能复制”的说法——它不稳定,不是设计,是偶然
多光标粘贴不同内容,必须满足“行数一致”
当你用 Ctrl+Shift+L 拆出 3 个光标,再按 Ctrl+V,Sublime 不是把剪贴板内容重复 3 次,而是把剪贴板里的第 1 行粘到第 1 个光标、第 2 行粘到第 2 个光标……以此类推。这叫“行对行映射”。
常见错误:
- 剪贴板只有 1 行,但有 5 个光标 → 只填第一个,其余空白
- 从 Excel 或网页复制,带隐藏格式或制表符 → 行数识别错乱,粘贴歪斜
- 剪贴板末尾缺换行符,最后一行被吞掉
安全做法:复制前用纯文本编辑器过一遍,确保换行符清晰;粘贴前用 Ctrl+A → Ctrl+C 在记事本里验一下行数。
想每处都粘同一段内容?默认不支持,得绕道
5 个光标,都想粘 console.log("debug")?Sublime 默认不提供“广播式粘贴”。Ctrl+V 会报错或只填第一个位置。
两个可行路径:
- 装插件
MultiEditUtils,然后Ctrl+Shift+P→ 输入MultiEditUtils: Paste Clipboard to Each Selection - 写个轻量 Python 插件(存为
Packages/User/full_multiline_paste.py),绑定快捷键如Alt+Cmd+V;注意必须调用edit对象包裹插入操作,否则Ctrl+Z会失效
别用列选择 + 粘贴来凑合——列选区要求各行长度一致、缩进对齐,代码里稍有 Tab/空格混排就错位。
真正容易被忽略的点:折叠区域和撤销栈
如果光标在折叠的代码块里按 Ctrl+Shift+D,新行会被复制进去,但不会自动展开,你可能根本看不到它;得手动点击父级折叠箭头才能确认。
所有自定义粘贴命令(比如广播粘贴)若没正确处理 edit 对象,会导致 Ctrl+Z 无法一步撤回全部操作——看起来像粘成功了,其实撤销栈断掉了。这点在写插件或调试命令时最容易翻车。











