Sublime Text 中 Ctrl+C 无法复制当前行是因为其 copy 命令仅作用于已有选区;必须先用 Ctrl+L 选中整行(首次不含换行符,二次含换行符),再按 Ctrl+C 才能正确复制到剪贴板。

Sublime Text 没有默认的“一键复制当前行到剪贴板”的快捷键,Ctrl+C 单独按几乎总是无效——它只复制选区,没选中就什么也不做。
为什么直接按 Ctrl+C 复制不了当前行?
这不是 bug,是 Sublime 的设计逻辑:copy 命令只作用于已有选区。光标停在某行中间时,Ctrl+C 实际没触发任何复制操作,剪贴板内容不变。尤其在 JSON、YAML 或含 Unicode 字符的行里,失效概率极高;部分语言模式(如 Markdown)下甚至只复制光标前/后几个字符。
- 误以为复制成功,结果粘出来的是上一次的内容
- 粘到终端或配置文件时少换行,命令执行失败
- 连按
Ctrl+C没反应,其实是根本没选中
Ctrl+L → Ctrl+C 是唯一稳定路径
Ctrl+L 是 Sublime 原生定义的整行选中命令,不依赖语法高亮、缩进、光标位置或折叠状态,行为可预测:
- 按一次:
Ctrl+L选中当前行(不含换行符) - 再按一次:扩展选中,包含换行符(
Ctrl+C后粘贴会自动换行) - 第三次按:选中以空行为界的段落,不再是单行了
- 已有字符级选区时,
Ctrl+L会先清掉它,再选整行
之后按 Ctrl+C,内容才真正进入系统剪贴板,可跨应用粘贴。
复制多行别拖鼠标,用 Ctrl+Shift+↓ 扩展选区
鼠标拖选在长行、折叠代码或滚动偏移时极易出错;Ctrl+Shift+↓(Windows/Linux)或 Cmd+Shift+↓(macOS)才是连续多行复制的稳解:
- 先
Ctrl+L选中第一行 - 按住
Ctrl+Shift+↓向下逐行扩展(每按一次加选一行) - 空行会被跳过,不会中断选择
- 松手后直接
Ctrl+C,所有行一次性进剪贴板
粘贴时缩进对齐保持原样,比多数编辑器更可靠。
Ctrl+Shift+D 不是复制,是克隆
Ctrl+Shift+D(Windows/Linux)或 Cmd+Shift+D(macOS)执行的是 duplicate_line 命令,效果是在当前行下方插入副本,并把新旧行都选中——但它不操作系统剪贴板:
- 按完切到浏览器按
Ctrl+V,粘出的仍是旧内容 - 已选中多行时按它,会为每一行都克隆一次,行数翻倍
- 光标停在空行,复制出来的就是空行
- 它适合快速生成模板结构,但不能替代
Ctrl+L→Ctrl+C
真正需要“搬运”到其他程序时,永远从 Ctrl+L 开始——这一步漏了,后面全白忙。


















