Ctrl+/是Jupyter Notebook中注释或多行取消注释的官方快捷键,编辑模式下选中代码行后按下即可在每行首添加或删除#,严格切换、符合PEP 8规范,跨空行有效且不破坏语法结构。

Ctrl+/ 是最直接有效的批量注释方式,无需插件、不依赖版本,Windows/Linux 和 macOS 均原生支持。
选中多行后按 Ctrl+/ 就能注释或取消注释
这是 Jupyter Notebook 内置功能,不是快捷键模拟或第三方扩展。只要处于编辑模式(绿色边框),选中任意连续或多段代码行(可用 Shift+↑/↓ 或鼠标拖选),然后按 Ctrl+/(Mac 用 Cmd+/),每行开头会自动加 #;再按一次则全部移除。
- 支持跨空行选中 —— 即使中间有空行,只要光标覆盖到的行都会被处理
- 对已部分注释的行也安全:若某行已有
#,再按Ctrl+/会补全为两个#?不会,它只做“切换”:有则删,无则加,严格一对一 - 不改变缩进结构,不会把
#插入到缩进内部,而是紧贴行首空白之后(即符合 PEP 8 注释规范)
为什么不用 Alt+Shift+↓ 手动拉多光标
虽然多光标编辑在新版 Notebook(≥5.0)里可用,但用于注释反而容易出错:
- Alt+Shift+↓(Win/Linux)或 Option+Shift+↓(Mac)会逐行插入光标,但光标位置默认落在行尾,不是行首 —— 你得再按 Home 或 ← 移动,效率反不如
Ctrl+/ - 如果某行是空行或只有空格,光标可能落在无效位置,导致输入
#后格式错乱 - 多光标不识别语法上下文,比如你在函数体里拉了 10 行光标,但其中一行是字符串字面量,手动加
#会破坏字符串内容,而Ctrl+/会跳过这类行(实际不会,但它至少不主动破坏,而多光标完全不管)
遇到 Ctrl+/ 没反应?先确认这三件事
不是快捷键失效,大概率是当前不在正确上下文:
- 确保处于 编辑模式(单元格边框为绿色,左下角显示
Edit mode;命令模式下Ctrl+/无响应) - 确认没有被浏览器或输入法劫持 —— 尝试在地址栏按
Ctrl+/,看是否弹出浏览器搜索框(是则说明快捷键被占,需关掉相关扩展或切换输入法) - 极少数旧版 Notebook(pip install --upgrade jupyter notebook
真正麻烦的不是怎么注释,而是注释后忘了删——尤其调试时临时注释几行,跑完就切走,下次执行报 NameError 才想起来。建议养成习惯:注释完立刻扫一眼被影响的变量作用域,或者用 # TODO 标记临时注释区,方便后续 grep 清理。


















