sublime text无“光标复制”功能,真正可靠的是ctrl+l→ctrl+c:先选中当前行(不含换行符),再复制进系统剪贴板;连按ctrl+l可扩展选区,ctrl+shift+d仅为行复制(不进剪贴板)。

Sublime Text 没有“光标复制”这个独立功能——它不复制光标本身,而是围绕光标位置做选中、复制、粘贴动作。你真正需要的,是「以光标为锚点快速复制某行、某段或多行内容」,关键在操作路径是否稳定、是否进系统剪贴板、是否适配当前语言模式。
Ctrl+L → Ctrl+C 是复制当前行进剪贴板的唯一可靠路径
Sublime 的 copy 命令只响应选区,未选中时按 Ctrl+C 几乎总是什么都没复制,尤其在 JSON/YAML/含 Unicode 的行里失效率极高。
-
Ctrl+L是起点:光标停在任意位置,按一次即选中整行(不含换行符);再按一次则包含换行符(粘贴到终端或配置文件时更安全) - 连按
Ctrl+L可向下扩展选区:想复制连续三行?按三次Ctrl+L即可,不依赖鼠标拖选或方向键 - 别用
Ctrl+Shift+D代替:它执行的是duplicate_line,只插入副本,不进系统剪贴板,切到浏览器按Ctrl+V仍粘出旧内容
复制上一行?必须先移动光标,不能跳过选中步骤
Sublime 不支持“光标停在第5行,一键复制第4行”。所谓“复制上一行”,本质是把光标移到目标行(即第4行),再走标准选中+复制流程。
- 先按
↑把光标移到上一行任意位置(哪怕停在中间字符上) - 再按
Ctrl+L选中该行(不含换行符) - 最后按
Ctrl+C,内容才真正进入系统剪贴板 - 如果误用
Ctrl+Shift+D:它只会复制“当前光标所在行”(即第4行),但插入在第5行下方——不是你要的“复制上一行”,而是“在当前行下插副本”
多行复制要区分连续 or 不连续,剪贴板格式必须是纯文本
多行粘贴出错,90% 是因为剪贴板内容不匹配:行数对不上、换行符不一致、或混入富文本格式(比如从网页或 Excel 复制)。
- 连续多行:用
Ctrl+L选第一行 → 按住Ctrl+Shift+↓向下扩展选区 →Ctrl+C - 不连续多行:用鼠标 +
Alt(Win/Linux)或Cmd(macOS)列选多个光标 → 松开后立刻按Ctrl+L扩展为整行 →Ctrl+C - 验证剪贴板是否干净:复制后,先粘到 Sublime 新建空白文件里,看是否显示为多行纯文本;若带缩进错位或单行堆叠,说明来源含格式,需先过一遍记事本
Ctrl+Shift+D 真正用途是 duplicate_line,不是 copy
这个快捷键常被误当作“复制快捷键”,但它和系统剪贴板完全无关,行为固定且不可绕过。
-
Ctrl+Shift+D(Win/Linux)或Cmd+Shift+D(macOS)只做一件事:在当前行下方插入一个副本,光标自动落到新行开头 - 已选中多行时按它,会为每一行都插一个副本(选中 3 行 → 新增 3 行),不是“复制这 3 行到剪贴板”
- 折叠区域里也能用,但新行默认保持折叠状态,看不到也选不到——得手动展开父级才能确认是否成功
- 如果按键无反应,检查输入法是否为中文(快捷键被拦截)、或
Preferences → Key Bindings中是否被插件覆盖(如 Emmet)
真正容易被忽略的点是换行符控制和折叠感知:按一次 Ctrl+L 复制的行不带换行符,粘到终端可能连成一行;而折叠代码块内执行 Ctrl+Shift+D 后,新行藏在折叠里,不展开就以为没生效。











