复制当前行必须先按Ctrl+L再按Ctrl+C,因Sublime Text的copy命令仅响应选区;Ctrl+L按一次选中行内容(不含换行符),按两次才包含换行符,直接影响终端或配置文件粘贴效果。

复制当前行必须先按 Ctrl+L,再按 Ctrl+C
Sublime Text 的 copy 命令只响应已有选区,光标停在行中任意位置时直接按 Ctrl+C 不会复制任何内容——剪贴板保持原样,你粘出来的大概率是上一次的旧内容。这不是快捷键失效,而是设计如此。
Ctrl+L 是唯一稳定触发整行选中的命令,它不依赖语法高亮、缩进、折叠状态或光标是否在中文/Unicode 字符中间。按一次选中当前行(不含换行符),再按一次才包含换行符——这对粘贴到终端或配置文件是否自动换行至关重要。
- 想粘贴后换行(如发终端命令):按两次
Ctrl+L后再Ctrl+C - 想粘贴后紧贴上一行(如拼接 JSON 字段):只按一次
Ctrl+L,再Ctrl+C - 光标停在空行、长行中间、折叠代码里,
Ctrl+L依然生效;盲按Ctrl+C在这些场景下失效率极高
Ctrl+Shift+D 不是复制,是克隆,不进系统剪贴板
很多人误以为 Ctrl+Shift+D(Windows/Linux)或 Cmd+Shift+D(macOS)能“复制到别处”,其实它执行的是 duplicate_line 命令:只在当前行下方插入副本,完全不操作系统剪贴板。
按完立刻切到微信、终端或浏览器按 Ctrl+V,粘出的仍是上一次的内容。已选中多行时按它,会为每一行都克隆一次,导致行数翻倍——这不是“复制多行”,而是“每行各加一行”。
- 适用场景仅限于:快速补参数、临时备份逻辑块、生成模板结构
- 如果目标是跨应用搬运(比如贴 Slack、填表单、发给同事),
Ctrl+Shift+D永远不能替代Ctrl+L→Ctrl+C - Mac 用户注意:
Cmd键可能被 Karabiner、输入法或系统快捷键拦截,若无效请检查Preferences → Key Bindings
复制连续多行别拖鼠标,用 Ctrl+Shift+↓ 扩展选区
鼠标拖选在缩进深、折叠区域、长代码行或滚动偏移时极易偏移,漏掉前导空格、Tab 或行尾空白。更稳的方式是组合按键扩展选区:
- 先把光标移到第一行任意位置,按
Ctrl+L选中它 - 按住
Ctrl+Shift+↓(Windows/Linux)或Cmd+Shift+↓(macOS),每按一次加选下一行;空行会被跳过,不会中断流程 - 松手后直接按
Ctrl+C,所有高亮行一次性进剪贴板,保留原始缩进和换行符 - 复制不连续行(如第2、5、8行):按住
Alt(Win/Linux)或Cmd(macOS),从各目标行首垂直拖选形成多个光标,松开后立刻按Ctrl+L扩展为整行选中,再Ctrl+C
真正容易被忽略的点:换行符是否被包含,只由 Ctrl+L 按几次控制
它决定了粘贴到终端或配置文件时会不会格式错乱——不是系统自动判断,也不是编辑器智能补全。按一次 Ctrl+L 复制的是“行内容”,按两次才是“行内容 + 换行符”。这个开关藏在按键次数里,一旦漏掉第二次,你在终端里粘贴命令就可能连成一行执行失败。
其他操作(比如 Ctrl+A 全选、Ctrl+Shift+D 克隆、甚至插件提供的“一键复制”)都无法稳定保证这个行为。只要目标是跨程序粘贴,就必须从 Ctrl+L 开始,且根据用途决定是否再按一次。


















