Sublime Text中复制当前行最稳方案是先按Ctrl+L选中当前行(含换行符需再按一次),再按Ctrl+C;Ctrl+Shift+D仅复制并插入新行,不保证内容进入剪贴板。

Sublime Text 里复制当前行,根本不用鼠标——按 Ctrl+Shift+D 就能原地复制整行并插入在下一行;但如果你只要「复制」(不粘贴、不新增),得用 Ctrl+Shift+K 先删行再 Ctrl+Z 撤销,这显然绕路。真正干净的方案是绑定一个纯复制命令。
用 Ctrl+Shift+X 复制当前行(推荐自定义快捷键)
Sublime 默认没给「只复制当前行内容」分配快捷键,但内置命令 duplicate_line 是复制+粘贴,copy 命令又只作用于选区。所以得靠「先全选当前行,再复制」两步合成一键:
- 打开
Preferences → Key Bindings - 在右侧用户键位文件中添加:
[
{ "keys": ["ctrl+shift+x"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line in Empty File.sublime-macro"} },
{ "keys": ["ctrl+shift+x"], "command": "select_line" },
{ "keys": ["ctrl+shift+x"], "command": "copy" }
]
⚠️ 实际不能这样写——Sublime 不支持同一快捷键触发多个命令。正确做法是写一个插件或改用现成 macro。更简单的是:直接用 Ctrl+L 选中当前行(含换行符),再按 Ctrl+C。这就是最稳的组合。
Ctrl+L 是关键:它不只是「选行」,还决定复制范围
Ctrl+L 的行为细节常被忽略:
- 光标在行中任意位置时,按下
Ctrl+L会选中整行(不含换行符) - 若光标已在行首或行尾,再按一次
Ctrl+L会扩展选择,包含换行符——这时Ctrl+C复制的内容带换行,粘贴时自动换行 - 连续按三次
Ctrl+L会选中当前段落(以空行为界),不是单行了
为什么不用 Ctrl+Shift+D?它本质是「复制并插入」
Ctrl+Shift+D 对应命令 duplicate_line,效果是:
- 在当前行下方插入一模一样的新行
- 原行和新行都被选中(方便后续批量编辑)
- 剪贴板里不一定有内容——它不保证触发
copy操作
也就是说,你按完 Ctrl+Shift+D 后切到别的程序按 Ctrl+V,大概率粘出的是旧剪贴板内容,不是刚复制的那行。
进阶:想复制多行?别用鼠标拖,用 Ctrl+Shift+↑/↓
需要复制连续几行时:
- 先用
Ctrl+L选中第一行 - 按住
Ctrl+Shift+↓向下扩展选区(每按一次加选下一行) - 松手后按
Ctrl+C,就复制了所有高亮行 - 注意:如果中间某行是空行,
Ctrl+Shift+↓会跳过它,不会中断选择
这个操作比鼠标拖动快得多,尤其当代码折叠、滚动条位置偏移时,鼠标反而容易点歪。










