Jupyter/IPython 笔记本: “ run all”的快捷方式?

在 IPython 笔记本中运行 所有单元是否有快捷方式?

如果没有,有什么特别的原因吗?

160861 次浏览

有一个菜单快捷方式运行所有单元格下的单元格 > “运行所有”。这不是默认绑定到一个快捷键-你必须在笔记本中定义你自己的自定义绑定,正如这里所描述的

例如,要添加一个键盘绑定,使您可以运行笔记本中的所有单元格,可以在单元格中插入以下内容:

%%javascript


Jupyter.keyboard_manager.command_shortcuts.add_shortcut('r', {
help : 'run all cells',
help_index : 'zz',
handler : function (event) {
IPython.notebook.execute_all_cells();
return false;
}}
);

如果在 iPython 笔记本中运行这段代码,应该会发现现在已经有了一个键盘绑定来运行所有单元格(在本例中,按 ctrl-M 后面跟着 r)

对于最新的木星笔记本电脑(版本5) ,你可以进入笔记本电脑顶部的“帮助”选项卡,然后选择“编辑键盘快捷方式”,并添加自己的自定义快捷方式的“运行所有”功能。

最简单的解决办法:

Win/Linux:

  1. 取消选择潜在单元格或编辑模式

  2. CtrlA(选择所有单元格)

  3. ShiftEnter(运行所有选定内容)

麦克:

  1. 取消选择潜在单元格或编辑模式

  2. A(选择所有单元格)

  3. ShiftEnter(运行所有选定内容)

我一直试图在木星实验室做这个,所以认为这可能是有用的张贴在这里的答案。您可以在设置中找到快捷方式,也可以添加自己的快捷方式,其中可以找到 给你的完整快捷方式列表。

例如,我添加了自己的快捷方式来运行所有单元格。在木星实验室,在设置 > 高级设置,选择键盘快捷键,然后添加以下代码到“用户覆盖”:

{
"notebook:run-all-cells": {
"command": "notebook:run-all-cells",
"keys": [
"Shift Backspace"
],
"selector": ".jp-Notebook.jp-mod-editMode"
}
}

在这里,Shift + Backspace 将运行笔记本中的所有单元格。

从5.5开始,你可以运行 Kernel > Restart and Run All

木星实验室1.0.4:

  1. 在顶部菜单中,转到: Settings->Advanced Settings Editor->Keyboard Shortcuts

  2. 将此代码粘贴到 User Preferences窗口:

{
"shortcuts": [
{
"command": "runmenu:run-all",
"keys": [
"R",
"R"
],
"selector": "[data-jp-kernel-user]:focus"
}
]
}
  1. 保存(user-preferences窗口的右上角)

这将立即生效。在这里,两个连续的“ R”按下运行所有单元格(就像两个“0”用于重启内核一样)。 值得注意的是,system defaults对于所有菜单命令都有空的模板,包括这段代码(搜索 run-all)。从 kernelmenu:restart复制 selector,以便在细胞内打印 r。< strong > 这个 system defaults复制粘贴可以推广到任何命令。

在 Visual Studio Code 中,使用 IPython的一个非常简单的方法是添加以下内容:

{
"key": "ctrl+space",
"command": "jupyter.runallcells"
}

键入 F1和「开启键盘快捷键」 ,就可以连接到 keybindings.json

在 windows/linux 中:

Ctrl + A (全选)

Ctrl + Enter (运行选定的单元格)

如果你在木星实验室工作,你可以直接编辑 JSON 设置,添加一个简单的快捷键“运行所有单元格”。

  1. 在木星窗口中,点击“设置”—— > “高级设置编辑器”。
  2. 点击右上角的“ JSON 设置编辑器”按钮。
  3. 在“ User Preferences”窗口中,将以下内容添加到 JSON 文件的顶部,以将“ F9”等键绑定到“ run all cell”:
{
"args": {},
"command": "runmenu:run-all",
"keys": [
"F9"
],
"selector": "[data-jp-code-runner]"
}

如果你不想增加你的运行顺序数和/或想重置你的运行顺序数,你也可以分配一个键绑定到“重新启动内核并运行所有单元格”,像“ F8”:

{
"args": {},
"command": "runmenu:restart-and-run-all",
"keys": [
"F8"
],
"selector": "[data-jp-code-runner]"
},

另外,下面介绍如何运行当前单元格上面或下面的所有单元格:

{
"args": {},
"command": "notebook:run-all-above",
"keys": [
"Ctrl Shift A"
],
"selector": "[data-jp-code-runner]"
},
{
"args": {},
"command": "notebook:run-all-below",
"keys": [
"Ctrl Shift B"
],
"selector": "[data-jp-code-runner]"
},

仅供参考,“选择器”是 CSS 选择器,你可以在浏览器的开发控制台中检查 Jupiter 窗口来找到并查看它们。选择器“[ data-jp-code-runner ]”对应于各个 Jupiter 窗口选项卡。

同样,在 Jupiter yterLab 中,使用“ Esc”、“ Command + a”和“ Shift enter”可以工作,但是有点错误,因为每次你这样做的时候,它都会在你的笔记本底部创建一个新的空白代码单元格。你应该做的是“ Ctrl enter”或者“ Command enter”,而不是“ Shift enter”。

对于 Windows 10

最新的木星笔记本版本转到 Help > Edit Keyboard Shortcuts > run all cells > 然后单击 +标志添加快捷方式我会键入 Z然后再次单击 +添加 > 然后单击 OK保存。