Sublime Text没有一键复制上一行的原生快捷键,必须先用Ctrl+L选中当前行,再按Ctrl+Shift+↑将光标上移一行,接着再按Ctrl+L选中上一行,最后按Ctrl+C完成复制;该流程确保选区准确、跨语言稳定。

Ctrl+L 选中上一行,再 Ctrl+C 才真复制
Sublime Text 没有“一键复制上一行”的原生快捷键。所谓“复制上一行”,本质是先定位、再选中、最后复制三步操作。最稳路径是:Ctrl+L(选中当前行)→ Ctrl+Shift+↑(光标上移一行)→ 再按一次 Ctrl+L(选中上一行)→ Ctrl+C。注意:第一次 Ctrl+L 是为了清掉可能存在的字符级选区,避免干扰;Ctrl+Shift+↑ 移动的是光标位置,不是整行物理移动。
别信“光标停在当前行,Ctrl+C 就能复制上一行”
这个说法完全错误。Sublime 的 Ctrl+C 只作用于当前选区——没选中任何内容时,它什么也不复制;光标停在哪一行,Ctrl+C 默认不自动关联到上一行。实测干净安装的 Sublime Text 4.4168(无插件),光标在第10行按 Ctrl+C,剪贴板内容不变;只有先通过 Ctrl+L 或方向键把光标移到第9行并选中,才能复制第9行。
用列选择 + Ctrl+L 快速复制不连续的“上一行”组
如果需要批量复制多处“上一行”(比如函数定义前的注释行),鼠标拖选容易错位。更可靠的做法是:
- 按住
Alt(Windows/Linux)或Cmd(macOS),从目标“上一行”的行首垂直向下拖选,形成多个光标 - 松开后立刻按
Ctrl+L,所有光标所在行被完整选中(含换行符) - 按
Ctrl+C,所有行一次性进系统剪贴板
这个组合不依赖光标原始位置,也不怕代码折叠或缩进混乱。
为什么 Ctrl+Shift+D 不适合“复制上一行”
Ctrl+Shift+D 对应命令 duplicate_line,行为固定:在当前行下方插入副本。它无法向上复制,也不能指定“上一行”。若强行先用 Ctrl+Shift+↑ 把当前行挪到上一行位置,再按 Ctrl+Shift+D,结果是复制了“挪过来的那行”,而非原来的上一行——逻辑绕远且易出错。真正要拿到上一行内容,必须让光标落到那一行并选中它。
容易被忽略的细节:连续按 Ctrl+L 会逐行扩展选区,但那是向下扩展;向上选中需靠 Ctrl+Shift+↑ 配合 Ctrl+L,顺序不能颠倒。否则光标移上去却没选中,Ctrl+C 依然无效。

















