PhpStorm中“复制当前行”正确快捷键是Ctrl+Alt+↓(Windows/Linux)或Cmd+Option+↓(macOS),而非Ctrl+C(仅复制选中内容)或Ctrl+D(实际为删除当前行);后者易导致误删或无响应。

PhpStorm 里“复制当前行”不是 Ctrl+C,也不是 Ctrl+D —— 用错就删行或没反应。
Ctrl+D 是删除当前行,不是复制
很多人一上来就按 Ctrl+D 想复制,结果当前行直接没了。这是 PhpStorm 的默认行为:无论光标在哪,Ctrl+D 都是「删除当前行」。它和 VS Code 或 Sublime 的语义完全不同。
- Windows/Linux 下:
Ctrl+D→ 删除当前行 - macOS 下:
Cmd+D→ 删除当前行(不是选中下一个) - 想复制?必须避开
Ctrl+C和Ctrl+D这两个“陷阱键”
真正一键复制当前行到下方的快捷键是 Ctrl+Alt+↓
这个组合键才是“不选中、光标随便放、按一下就复制整行到下一行”的正解。它不依赖 selection,也不触发格式化,行为稳定。
- Windows/Linux:
Ctrl+Alt+↓→ 复制当前行并插入到下一行(原行不动) - macOS:
Cmd+Option+↓(注意不是Cmd+Alt+↓,Option 键在 macOS 上对应 Alt) - 如果已选中多行,它会把整个选区复制到下方,保持相对位置
- 常见误操作:按了没反应 → 检查是否被输入法(如搜狗)、远程桌面(如 AnyDesk)、或系统级快捷键(如 Win+方向键)劫持
需要复制到上方?用 Ctrl+Alt+↑
和向下复制对称,Ctrl+Alt+↑ 把当前行复制到上一行位置。但要注意:它不会自动换行或调整空行,复制后两行紧贴,可能影响可读性。
立即学习“PHP免费学习笔记(深入)”;
- 复制后手动加空行?不如先按
Shift+Enter在当前行下方插入空行,再用Ctrl+Alt+↓ - 如果目标位置已有代码,
Ctrl+Alt+↑会把原行插在上面,不覆盖 —— 安全,但需肉眼确认上下文 - 别和
Alt+↑混淆:Alt+↑是交换当前行与上一行位置,不是复制
只想复制不粘贴?得先选中再 Ctrl+C
PhpStorm 没有“纯复制当前行到剪贴板”的默认快捷键。它的 Ctrl+C 严格作用于 selection,空 selection 就什么也不做 —— 这是设计选择,不是 bug。
- 最快路径:光标落在行内 → 按
Home→Shift+End(Win/Linux)或Cmd+←→Shift+Cmd+→(macOS)→ 再按Ctrl+C/Cmd+C - 更省事的办法:右键 → “Copy Line”(部分版本支持,但不稳定,不建议依赖)
- 高频使用者建议自定义快捷键:Settings → Keymap → 搜索 “Copy Line” → 绑定到
Ctrl+Shift+C或其他空闲组合(注意别和“复制文件路径”的Ctrl+Shift+C冲突)
真正容易被忽略的点在于:PhpStorm 所有“行级操作”都默认以光标所在行为单位,不依赖 selection,但只有 Ctrl+C 是例外——它死守 selection 规则。习惯 VS Code 的人最容易在这里卡住几秒甚至几分钟。


















