Sublime Text 中复制整行到下一行的原生快捷键是 Ctrl+Shift+D(Windows/Linux)或 Cmd+Shift+D(macOS),执行 duplicate_line 命令,光标在任意位置均可直接复制当前行并插入下一行,不依赖剪贴板、不改变缩进、支持多行批量复制。

Sublime Text 里复制整行到下一行,不用选中、不用 Ctrl+C/V,有原生快捷键直接完成。
Ctrl+Shift+D(Windows/Linux)或 Cmd+Shift+D(macOS)直接重复当前行
这是 Sublime Text 内置的 duplicate_line 命令,作用就是:光标在任意位置(哪怕在行中某个字符上),按下快捷键后,**原样复制当前行并插入到下一行**。
- 如果光标在空行,会复制一个空行
- 如果多行被选中(哪怕只选中部分文本),则每行都会被单独复制一次(即选中 N 行 → 新增 N 行)
- 不依赖剪贴板,不影响你之前复制的内容
- 不会自动缩进——复制后新行的缩进与原行完全一致(包括空格或 Tab)
为什么不用 Ctrl+Shift+↑/↓ 移动行?
Ctrl+Shift+↑ 和 Ctrl+Shift+↓ 是 swap_line_up / swap_line_down,作用是「交换当前行和上/下行的位置」,不是复制。误用会导致代码顺序错乱,尤其在函数定义、import 顺序等敏感场景容易出问题。
- 它移动的是整行,但会删掉原位置,不是“加一行”
- 若光标在第 1 行按
Ctrl+Shift+↑,无反应;在最后一行按Ctrl+Shift+↓,也无反应 - 和复制行为完全无关,别混淆
自定义快捷键或修复失效?检查 key bindings 设置
默认快捷键在绝大多数安装中都有效,但如果失效,大概率是被插件(如 Emmet、SideBarEnhancements)或用户自定义键位覆盖了。打开 Preferences → Key Bindings,检查右侧(User)是否有冲突项:
[
{ "keys": ["ctrl+shift+d"], "command": "duplicate_line" }
]
- 如果左侧(Default)里已有该绑定,右侧又写了同 keys 但不同 command,就会被覆盖
- macOS 用户注意:必须用
cmd,不是ctrl;大小写和符号(Shift+D)必须完全匹配 - 某些键盘布局(如非美式)可能触发不了 Shift+D,可临时换回英文输入法再试
真正容易被忽略的点是:这个命令对「折叠区域」里的行也生效,但复制出来的新行不会自动展开——如果你正调试一段被折叠的 JSON 或长注释块,复制后可能看不到新行,得手动展开父级折叠才能确认是否成功。










