ctrl+shift+d(windows/linux)或cmd+shift+d(macos)是sublime text中执行duplicate_line命令的快捷键,作用是在当前行下方插入完全相同的副本,光标自动移至新行开头;它不操作系统剪贴板,因此无法跨应用粘贴,真正复制到剪贴板需先按ctrl+l选中整行再按ctrl+c。

Ctrl+Shift+D 是复制行,不是复制到剪贴板
Sublime 的 Ctrl+Shift+D(Windows/Linux)或 Cmd+Shift+D(macOS)执行的是 duplicate_line 命令,行为固定:在当前行下方插入一个完全相同的副本,光标自动跳到新行开头。它不操作系统剪贴板,所以按完后切到浏览器或微信按 Ctrl+V,粘出来的仍是上一次复制的内容。
常见误操作:
- 以为按了
Ctrl+Shift+D就能跨应用粘贴,结果粘错内容 - 光标停在空行,按了也只复制出空行
- 已选中多行时按该快捷键,会为每一行都 duplicate 一次,导致行数翻倍(比如选中 3 行 → 变成 6 行)
真正把当前行“复制进剪贴板”,必须先选中
Sublime 的 copy 命令只作用于选区。没选中时按 Ctrl+C,多数情况下什么也没复制——尤其在 JSON、YAML 或含 Unicode 字符的行里,失效概率极高。可靠做法永远是两步:Ctrl+L → Ctrl+C。
Ctrl+L 的关键细节:
- 第一次按:选中光标所在整行(不含换行符)
- 连续按:每次向下扩展选中下一行,适合圈定连续多行
- 如果已有字符级选区(比如只选了几个字),
Ctrl+L会先清掉它,再选中整行 - 选中后按
Ctrl+C,内容才真正进入系统剪贴板,可跨应用粘贴
多行复制要区分场景:连续 or 不连续
连续多行复制最稳路径:Ctrl+L(选第1行)→ 连按 Ctrl+L(逐行扩展)→ Ctrl+C。Sublime 会保持原始缩进对齐,粘贴时格式不乱。
不连续行(如第2、5、8行)需用列选择辅助:
- 按住
Alt(Win/Linux)或Cmd(macOS),鼠标从各目标行首垂直拖选(形成多个光标) - 松开后立刻按
Ctrl+L,把每个光标扩展为整行选中 - 再按
Ctrl+C,所有行一次性进剪贴板
别用 Ctrl+A 全选再复制——换行符处理不一致,容易多出空行或缩进错位。
为什么 Ctrl+Shift+D 有时没反应?
该快捷键绑定的是 duplicate_line,但可能被以下三类硬拦截静默吞掉:
- Vintage 模式(Vim 模拟)启用时,
Ctrl+Shift+↑/↓和Ctrl+Shift+D常被劫持,临时按i切回 Insert 模式再试 - 系统级热键冲突:macOS 的 Mission Control 默认占用了
Cmd+Shift+↑,需进「系统设置 → 键盘 → 快捷键 → 调度中心」关掉;Windows 下某些输入法(如搜狗)也会截掉Ctrl+Shift+D - 当前焦点在查找面板、侧边栏或折叠代码块内部时,命令不生效
验证是否被覆盖:打开 Preferences → Key Bindings,右侧用户配置里搜索 "ctrl+shift+d",有自定义条目就删掉。
真正容易被忽略的是:duplicate_line 不感知语法结构。复制一个缩进 4 空格的 if 块,副本仍带同样缩进;复制到文件末尾,也不会自动补换行符——这些得靠人眼校验,编辑器不会帮你兜底。











