Ctrl+Shift+D(Windows/Linux)或Cmd+Shift+D(macOS)是Sublime Text中执行duplicate_line命令的快捷键,作用是在当前行下方插入完全相同的副本,光标自动移至新行开头;它不操作系统剪贴板,因此无法跨应用粘贴。

Ctrl+Shift+D 是 duplicate_line,不是复制到剪贴板
它只在当前行(或每行选中内容)下方插入副本,不碰系统剪贴板。你按完切到浏览器按 Ctrl+V,粘出来的还是上一次复制的东西——不是刚克隆的那行。
常见误操作:
- 光标停在空行按
Ctrl+Shift+D→ 复制出一个空行 - 已选中 3 行(哪怕只选了每行开头几个字),再按
Ctrl+Shift+D→ 新增 3 行,原选区没变,总行数翻倍 - 以为
Ctrl+C在未选中状态下能复制整行 → 官方默认不支持,多数情况实际没复制任何内容
想真正把整段文字“克隆到别处”,得先选中再复制
Sublime 的 copy 命令只作用于选区。没选中,Ctrl+C 就是空操作,尤其在 JSON/YAML 或含 Unicode 的行里,失效概率极高。
可靠路径永远是两步:
-
Ctrl+L:选中光标所在整行(不含换行符) -
Ctrl+C:此时内容才进系统剪贴板,可跨应用粘贴
连续多行?Ctrl+L 连按:第一次选第1行,第二次加选第2行,第三次加选第3行……缩进对齐保持原样。
非连续多行怎么批量克隆?用列选择 + Ctrl+L
比如要克隆第2、7、11行,不能靠 Ctrl+Shift+D,它只认光标所在行;也不能用 Ctrl+A 全选——换行符处理不一致,容易多空行或缩进错位。
正确做法:
- 按住
Alt(Win/Linux)或Cmd(macOS),鼠标从各目标行首垂直拖选(形成多个光标) - 松开后立刻按
Ctrl+L,每个光标扩展为整行选中 - 再按
Ctrl+C,所有行一次性进剪贴板
别混淆 swap_line_up/down 和 duplicate_line
Ctrl+Shift+↑ 不是复制,是交换:第5行和第4行对调位置,原第5行没了,只剩一个互换结果。误用会导致 import 顺序错乱、函数嵌套层级断裂。
Ctrl+Shift+D 才是克隆:原行不动,下方新增一模一样的副本,缩进、空格、Tab 全保留。但注意——它不移动光标到新行末尾,而是停在新行开头,编辑前得手动跳转或按 ↓。
最易被忽略的细节:快捷键是否被插件或系统劫持。比如 Vintage 模式、Emmet、Karabiner 或 macOS 的 Mission Control 都可能吞掉 Cmd+Shift+D。验证方式:打开 Preferences → Key Bindings,右侧搜 "cmd+shift+d" 或 "ctrl+shift+d",有自定义条目就删掉。


















