1.3 单元格操作技巧


1.3 单元格操作技巧

本节摘要:Notebook 的骨架是单元格。本节按 SOURCE 结构讲清 Code/Markdown/Raw 切换、创建删除移动、剪切粘贴(含 Shift+V 上方粘贴)、运行方式,以及多选合并与分割——让你用键盘重组叙述与实验,而不是堆在一个长格里。

你能学到什么

阅读完本节,你应当能够:

  1. 用 Y/M/R 或菜单在 Code、Markdown、Raw NBConvert 间切换
  2. 用 A/B 创建、DD 删除、Ctrl+Shift+↑/↓ 移动单元格
  3. 用 X/C/V 与 Shift+V 复制剪切粘贴,并理解粘贴位置差异
  4. 选择 Shift+Enter / Ctrl+Enter / Alt+Enter 的运行语义
  5. 用 Ctrl+Shift+- 分割过长单元格,用 Shift+M 合并

一、单元格类型

SOURCE 列出常用三类:

类型 用途 快捷键(命令模式)
Code 执行 Python 等内核语言 Y
Markdown 标题、说明、公式、Mermaid M
Raw NBConvert 导出时原样保留、Notebook 内不渲染 R

旧版 Heading 单元格已弃用——标题统一用 Markdown 的 # ~ ######(命令模式下按 1–6 可快速设标题级别,SOURCE intro 亦提及)。

Markdown 格按 Shift+Enter 渲染;Code 格执行后输出挂在下方。混排时习惯「Markdown 说明 → Code 实验 → Markdown 小结」,避免单格又写长文又塞百行代码。

二、创建、删除、移动

创建(命令模式):

  • A:当前格上方插入
  • B:当前格下方插入

菜单等价:Insert → Insert Cell Above/Below(SOURCE 1.3.2.1)。

删除

  • D, D(连按两次 D),或 Edit → Delete Cells

移动(SOURCE 1.3.2.3):

  • Ctrl + Shift + ↑ / ↓ 上下移动选中格

三、复制、剪切、粘贴

与编辑器类似,但在单元格粒度(命令模式):

操作 快捷键
剪切 X
复制 C
粘贴到下方 V
粘贴到上方 Shift + V

SOURCE 强调 Shift + V 上方粘贴——把「结论格」插到实验格上面做报告结构时常用。误删用 Z 撤销恢复。

四、运行单元格与输出管理

SOURCE 1.3.4 运行方式:

操作 快捷键 行为
运行当前格 Ctrl + Enter 执行后停留本格
运行并下一格 Shift + Enter 执行后选中下一格(写流程首选)
运行并下方新建 Alt + Enter 执行后插入新 Code 格

Clear Output:菜单 Cell → All Output → Clear All Output(SOURCE 第 10 节)——提交 Git 前清输出,可显著缩小 .ipynb 体积、避免 diff 被二进制输出淹没。

分割单元格:编辑模式下 Ctrl + Shift + - 在光标处一分为二——把误合并的「说明+代码」拆开,比手动剪切粘贴快。

合并:命令模式多选后 Shift + M(SOURCE 命令表)——适合把碎 Markdown 合成一节。

⚠️ 常见坑:只运行下面几格、上面定义变量的格没跑——变量来自「上次会话的幽灵状态」。交付前务必 Restart & Run All 或从上到下 Shift+Enter 一遍。

💡 关键直觉:单元格是「叙事节拍」;一格一事——说明、代码、结果分开,比一格 200 行更易协作与 diff。

核心回顾

  • Y/M/R:Code / Markdown / Raw
  • A/B、D,D:插入与删除
  • X/C/V、Shift+V:单元格级剪贴板,注意粘贴方向
  • 三种运行键:停留 / 下一格 / 新建格
  • Ctrl+Shift+- / Shift+M:分割与合并
  • Clear All Output:协作提交前必做

第 1 章地基已齐;第 2 章将在此基础上使用 Magic 命令 做计时、调试与脚本加载。

单元格操作清单脚本

下面的脚本把单元格状态管理整理成可执行清单,适合贴在自己常用 Notebook 顶部:

def cell_tips(): tips = [ "Y: 把当前格转成 Code", "M: 把当前格转成 Markdown", "R: 转成 Raw(导出时原样保留)", "A / B: 上方 / 下方插入", "D,D: 删除当前格,Z 撤销", "Ctrl+Shift+-: 编辑模式光标处分割", "Shift+M: 合并选中的多个单元格", "Ctrl+Shift+方向键: 移动选中格", ] return tips for tip in cell_tips(): print(tip)

分割单元格的三个典型时刻

  1. 说明与代码混在一格:编辑模式光标放在要拆开的位置,Ctrl+Shift+-,前半段变 Markdown 说明,后半段留 Code。
  2. 一段长分析想拆成步骤:在每步结论处分割,每格只回答一个问题,diff 更清晰。
  3. 误用 Shift+M 合并后想拆回:分割位置选在原合并边界附近,一格一格拆回。

组织策略:叙事节拍

一个健康 Notebook 的单元格序列通常遵循"背景 → 方法 → 结果 → 结论"的节奏:Markdown 格交代问题和假设,Code 格给实现,输出自然成为结果,结尾 Markdown 格写下结论与下一步。坚持"一格一事",第 4 章 Git 审查时 nbdime 才能把每一次修改精确到格。

Raw 单元格什么时候用

Raw 单元格不执行、不渲染,导出 HTML/PDF 时按原样输出。适合放"提交人、日期、数据来源"这类声明信息,或 Markdown 渲染会误处理的片段。如果你只是想在导出时保留一段 LaTeX 源码,Raw 也比 Markdown 更稳定。

输出管理的两个边界

  • 探索期:输出可以多,方便来回看。
  • 交付前:Cell → All Output → Clear All Output,把体积和 diff 一起降下来;需要静态图时,重新 Run All 后再导出(第 4 章详述)。

运行顺序与隐式状态

Notebook 的一个隐含特性是:单元格按你点击的顺序执行,而不是按从上到下的顺序。这带来两个实用结论:一是允许你把"先画图"的单元格放在"再清洗"的单元格前面做临时预览;二是交付前必须 Restart & Run All 把执行顺序归正,否则输出依赖的变量可能来自某个没跑过的格。

判断一个 Notebook 是否健康,可以看它能否在 Restart & Run All 下一次通过:这是第 4 章协作审查的最低门槛,也是给同事"能复现"承诺的第一步。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U