Sublime Text中复制整行需先按Ctrl+L选中当前行再按Ctrl+C,因默认不支持未选中时Ctrl+C复制整行;Ctrl+Shift+D是复制并插入单行副本但不进剪贴板;Ctrl+Shift+K可整行剪切至剪贴板。

复制整行却不进剪贴板?别用 Ctrl+C 盲按
Sublime Text 默认不支持“未选中时按 Ctrl+C 就复制整行”这一行为——它只是在某些语言模式下会隐式补全,但不可靠。你按了 Ctrl+C 却发现粘贴出来是旧内容,甚至空的,大概率是因为光标没选中任何东西,Ctrl+C 实际什么都没复制。
- 真正稳的路径是两步:
Ctrl+L(选中当前行)→Ctrl+C(复制到剪贴板) -
Ctrl+L是唯一原生、跨语言、不受折叠/换行符干扰的整行选中方式;连按可扩展选区,比如想复制连续三行,就按三次Ctrl+L - 别信“光标停着就能
Ctrl+C复制”的说法——它在 JSON 或含 Unicode 的文件里常失效,尤其当光标落在行尾换行符前时
Ctrl+Shift+D 是复制并插入,不是复制到剪贴板
这个快捷键干的是 duplicate_line 操作:光标在哪行,就在它下面原样插一行副本。但它不操作剪贴板,所以你在外部程序里 Ctrl+V 不会得到这行内容。
- 适用场景:快速写重复结构(如多个
console.log、相同配置项)、临时调试补行 - 误用现象:按完
Ctrl+Shift+D立刻切到浏览器粘贴,结果还是上一次复制的内容 - 多行慎用:若已选中三行,再按
Ctrl+Shift+D,会为每一行都插一个副本,共新增三行——不是复制三行,而是复制三次单行
想复制 + 移动?组合操作比单键更可控
单纯复制整行到剪贴板,Ctrl+L + Ctrl+C 最直接;但如果你要“复制某行 → 删掉原行 → 粘贴到别处”,有更快路径:
- 光标停在目标行,按
Ctrl+Shift+K:整行剪切(删掉 + 进剪贴板),不是删除 - 移动光标到目标位置,按
Ctrl+V粘贴即可 - 如果只想删不保留,仍用
Ctrl+Shift+K,但之后不按Ctrl+V——内容就丢在剪贴板里,不会恢复 - 注意:
Ctrl+Shift+K和Ctrl+Shift+D都是“无选择操作”,光标在哪行,就作用于哪行
Mac 用户注意命令键映射和系统冲突
macOS 上对应快捷键是 Cmd+L、Cmd+Shift+D、Cmd+Shift+K,但部分系统级快捷键(如截图、聚焦搜索)可能劫持 Cmd+Shift 组合。
- 检查是否被覆盖:打开「系统设置 → 键盘 → 快捷键」,确认没有其他功能占用了
Cmd+Shift+D - Sublime 内可验证:菜单栏 → Preferences → Key Bindings,搜索
"duplicate_line",看绑定是否生效 - 若冲突,建议自定义:在用户 keymap 里加一条
{"keys": ["super+alt+d"], "command": "duplicate_line"},避开系统热键
Ctrl+L 选中的行默认不含换行符**,所以复制后粘贴可能紧贴上一行。如需保留换行,粘贴前手动加个 Enter,或改用插件(如 CopyWithLineEndings)。这事不常出错,但一错就难排查。

















