Shift+M合并单元格需处于命令模式且至少选中两个单元格,否则无效;合并后统一转为代码类型、丢失Markdown渲染,操作不可逆。

直接用 Shift+M 就能合并选中的多个代码块,但必须处于命令模式,且至少选中两个单元格 —— 否则快捷键无效或报错。
为什么 Shift+M 没反应?
常见原因不是快捷键错了,而是当前不在命令模式,或只选中了一个单元格:
- 按
Esc确保进入命令模式(左侧边框变蓝) - 用
Shift+J或Shift+K多选单元格(不能只点一个再按Shift+M) - 如果只选中 1 个单元格,
Shift+M会静默失败,无提示、无报错 - 选中混合类型单元格(比如代码 + Markdown)时,合并后统一转为
code类型,原 Markdown 格式会丢失渲染效果
Merge Selected Cells 菜单项在哪?
菜单路径是:Edit → Merge Selected Cells,但它和快捷键 Shift+M 完全等价,只是入口不同:
- 必须先用
Shift+J/Shift+K或鼠标拖选多个单元格(单击+Ctrl多选无效) - 菜单项在选中 ≥2 个单元格后才可点击;否则置灰
- 右键菜单里没有这个选项 —— Jupyter Notebook 7+ 已移除右键“合并”项,仅保留命令模式快捷键
合并后换行和空格怎么处理?
合并不是简单拼接,Jupyter 会对内容做最小化清理:
- 相邻单元格末尾的空行会被压缩成 1 个空行
- 每个单元格内容末尾自动加换行,所以不会出现代码粘连(如
a=1b=2) - Markdown 单元格被合并进代码单元格后,原始
## 标题会变成普通字符串,不渲染 - 如果需要保留格式,建议先统一转为 Markdown 再合并,或手动补
\n控制间距
真正容易被忽略的是:合并操作不可逆(撤销 Z 只能回退到合并前状态,但无法还原单元格结构),且一旦保存,历史分隔信息就永久丢失。如果只是为了临时整理输出,优先考虑用 %%capture 或函数封装,而不是合并单元格。


















