本节摘要:Jupyter 的效率引擎是「命令模式 + 编辑模式」双轨操作。本节按 SOURCE 快捷键表梳理蓝框/绿框切换、插入删除单元格、运行与中断内核,并说明如何通过
Help → Edit Keyboard Shortcuts自定义绑定。
阅读完本节,你应当能够:
SOURCE 定义:
Esc 从编辑回到命令;Enter 从命令进入编辑。记不住快捷键时,先确认当前是蓝框还是绿框——同一按键在不同模式下含义不同。
SOURCE 原文表格精华(建议打印贴显示器旁):
| 快捷键 | 功能 |
|---|---|
| Enter | 进入编辑模式 |
| Shift + Enter | 运行当前格并选中下一格 |
| Ctrl + Enter | 只运行当前格 |
| Alt + Enter | 运行并在下方插入新格 |
| A / B | 上方/下方插入单元格 |
| X / C / V | 剪切 / 复制 / 粘贴到下方 |
| Shift + V | 粘贴到上方 |
| D, D | 删除当前格(连按两次 D) |
| Z | 撤销删除 |
| Y / M / R | 转为 Code / Markdown / Raw |
| Shift + M | 合并选中单元格 |
| H | 显示快捷键帮助 |
| I, I | 中断 Kernel |
| 0, 0 | 重启 Kernel |
| J / K | 上/下移动选中(命令模式) |
⚠️ 常见坑:在编辑模式里按 A/B 会往代码里输入字母,而不是插入单元格——先 Esc 回命令模式。
| 快捷键 | 功能 |
|---|---|
| Tab | 代码补全或缩进 |
| Shift + Tab | 显示函数 docstring(可连按展开) |
| Ctrl + / | 注释/取消注释选中行 |
| Ctrl + Shift + - | 在光标处分割单元格 |
| Ctrl + Enter | 运行当前格 |
| Esc | 回到命令模式 |
SOURCE 还提到 Ctrl + K / Ctrl + Shift + K 在单元格内向上/向下查找——长 Notebook 改函数名时比滚动快。
自定义快捷键:菜单 Help → Edit Keyboard Shortcuts,搜索命令名并改键位。注意别与浏览器或系统快捷键冲突(例如 Ctrl+S 在部分浏览器会保存网页)。
批量操作:命令模式下 Shift + 方向键 或 Shift + J/K 多选相邻单元格,再 X/C/V 或 DD 批量处理——整理「探索期」留下的碎格时极省时间。
整本验收:Kernel → Restart & Run All(SOURCE:命令模式下也可通过菜单)从头顺序执行,暴露「上面格定义了变量、下面格依赖但中间没跑」的隐式状态问题。
💡 关键直觉:熟练用户的分水岭不是背全表,而是 Esc → A/B/DD → Enter 形成肌肉记忆;运行三键(Shift+Enter / Ctrl+Enter / Alt+Enter)对应「往下写 / 原地看结果 / 插一格做对照」三种节奏。
下一节在 单元格 粒度上细化复制、移动、分割与运行策略。
下面是本节的速查脚本,可在 Notebook 里粘贴运行,输出一张你自己常用的映射表:
shortcuts = { "Esc": "回到命令模式(蓝框)", "Enter": "进入编辑模式(绿框)", "Shift+Enter": "运行当前格并移动到下一格", "Ctrl+Enter": "只运行当前格,光标停留", "Alt+Enter": "运行并在下方插入新格", "A / B": "当前格上方 / 下方插入单元格", "X / C / V": "剪切 / 复制 / 粘贴到下方", "Shift+V": "粘贴到上方", "D,D": "删除当前格(连续两次)", "Y / M": "转为 Code / Markdown", "Shift+M": "合并选中的单元格", "I,I": "中断内核", "0,0": "重启内核", } for k, v in shortcuts.items(): print(f"{k:14s} -> {v}")
Shift+Enter 是默认节奏,往下推进时不用碰鼠标。Ctrl+Enter 原地重跑,看输出变化。Alt+Enter 在当前格下方新建,天然隔离"对照格"。J/K 移动选中,Shift+J/K 扩展多选,再 X 剪走、Shift+V 插回上方。菜单 Help → Edit Keyboard Shortcuts 打开快捷键编辑器。搜索命令名时用英文关键词更准,例如搜 run 而不是"运行"。修改前先问自己两个问题:这个键现在有没有占用?会不会与浏览器快捷键冲突?例如把 Ctrl+S 绑成"保存",在部分浏览器里会先触发网页另存为,体验反而更差。改完点保存立即生效,无需重启。
I,I 中断,能保住已定义变量;不行再 0,0。0,0 重启是必须步骤,中断不够。