Ctrl+Shift+D(Windows/Linux)或 Cmd+Shift+D(macOS)是Sublime Text中唯一原生支持“当前行下方复制”的快捷键,执行duplicate_line命令,不依赖剪贴板、不改变缩进、不选中即可直接在光标所在行下方插入完全相同的副本。

Ctrl+Shift+D 是唯一原生支持“当前行下方复制”的快捷键
Sublime Text 里想在光标所在行正下方插入一模一样的副本,不用选中、不依赖剪贴板、不改缩进,直接按 Ctrl+Shift+D(Windows/Linux)或 Cmd+Shift+D(macOS)就行。它执行的是 duplicate_line 命令,行为确定:光标在哪行,就在哪行下面加一行。
常见错误现象:
- 按完
Ctrl+Shift+D立刻切到终端按Ctrl+V,粘出来是旧内容——因为该操作根本不碰系统剪贴板 - 光标停在空行,结果复制出一个空行,不是跳过
- 已选中多行时按它,会为每一行都 duplicate 一次,比如选中 3 行 → 新增 3 行,不是“复制这 3 行”
连击 Ctrl+Shift+D 能快速生成连续重复结构
连按两次 Ctrl+Shift+D,第一次复制原始行到下一行,第二次复制的是新生成的那行(不是原始行),所以你会得到三行相同内容:原始行 + 副本1 + 副本2。适合写日志、测试用例、配置项列表等场景。
但要注意:
- 每次按都是“以当前光标所在行为基准”,光标如果移动了,后续复制的就不是同一行
- 想复制 5 行相同内容,最稳方式是:先按一次
Ctrl+Shift+D→ 光标自动落到新行首 → 再按四次,总共五次按键 - 别指望它自动对齐或补缩进——它原样复制,包括开头的空格或 Tab
多行批量复制到各自下方,要小心选区状态
如果你已经用鼠标或 Ctrl+Shift+↓ 选中了连续多行,再按 Ctrl+Shift+D,Sublime 会为每一行都插入一个副本。比如选中第 2、3、4 行,按一次后变成 2、3、4、2、3、4(共 6 行)。
适用场景有限,但真有用:
- 批量补
console.log:选中多行函数调用,按一次Ctrl+Shift+D,每行下面立刻跟一个 log - YAML 配置块复制:选中一段带缩进的配置,
Ctrl+Shift+D后缩进保留,不用手动对齐 - 误操作高发点:选中后忘了清选区,按
Ctrl+Shift+D导致文件突然变长一倍
别和 Ctrl+L → Ctrl+C 混用
Ctrl+L 是选中,Ctrl+C 是复制到剪贴板;Ctrl+Shift+D 是插入副本,两者目的完全不同。你不会想用 Ctrl+L → Ctrl+C → Ctrl+V 来实现“当前行下方复制”,因为那样要移动光标、定位粘贴位置,还可能破坏缩进对齐。
容易被忽略的关键点:
-
Ctrl+Shift+D不响应鼠标位置,只响应光标逻辑行——哪怕光标卡在折叠代码中间,它也能准确复制展开后的那行 - 它不触发任何插件监听(比如 auto-save 或 lint),比模拟粘贴更轻量
- 如果某行末尾有不可见字符(如 BOM、ZWSP),
Ctrl+Shift+D会原样复制,而人眼看不到,调试时可能踩坑

















