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

Jupyter/IPython Notebooks: Shortcut for "run all"?

运行 所有 笔记本中的 运行 单元格有快捷方式吗?

如果不是,是否有特定原因?

单元格 > "Run All" 下有 运行 所有单元格的菜单快捷方式。默认情况下,这不会绑定到键盘快捷键 - 您必须在笔记本中定义自己的自定义绑定,as described here

例如,要添加键盘绑定,让您可以 运行 笔记本中的所有单元格,您可以将其插入单元格:

%%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)

对于最新的 jupyter 笔记本(版本 5),您可以转到笔记本顶部的 'help' 选项卡,然后 select 选项 'edit keyboard shortcuts' 并添加您的自己为 'run all' 函数自定义的快捷方式。

最简单的解决方案:

Win/Linux:

  1. Esc(unselect 潜在单元格或编辑模式)

  2. CtrlA(select 所有单元格)

  3. ShiftEnter(运行全部selected)

Mac:

  1. Esc(unselect 潜在单元格或编辑模式)

  2. A(select 所有单元格)

  3. ShiftEnter(运行全部selected)

我一直在尝试在 Jupyter Lab 中执行此操作,因此认为它可能对 post 此处的答案有用。您可以在设置中找到快捷方式,也可以添加自己的快捷方式,其中可以找到可能的快捷方式的完整列表 here

例如,我将自己的快捷方式添加到 运行 所有单元格。在 Jupyter Lab 中,在设置 > 高级设置下,select 键盘快捷键,然后将以下代码添加到 'User Overrides':

{
    "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

Jupyter 实验室 1.0.4:

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

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

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

这将立即生效。在这里,连续两次 'R' 按下运行所有​​单元格(就像内核重启的两个“0”)。 值得注意的是,system defaults 具有所有菜单命令的空模板,包括此代码(搜索 run-all)。 selector 复制自 kernelmenu:restart,以允许在单元格内打印 r这个system defaults复制粘贴可以推广到任何命令。

使用 IPython 的一种非常简单的方法在 Visual Studio 中对我有用代码是添加以下内容:

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

keybindings.json,您可以通过键入 F1 和 'open keyboard shortcuts'.

访问

在windows/linux中:

Ctrl + A (Select 所有)

Ctrl + 输入 (运行 选中的单元格)

如果您在 JupyterLab 中工作,则可以直接编辑 JSON 设置,为“运行 所有单元格”添加一个简单的键盘快捷键。

  1. 在 Jupyter window 中,转到“设置”-->“高级设置编辑器”。
  2. 单击右上角的“JSON 设置编辑器”按钮。
  3. 在“用户首选项”window 中,将以下内容添加到 JSON 文件的顶部以将“F9”等键绑定到“运行 所有单元格”:
{
    "args": {},
    "command": "runmenu:run-all",
    "keys": [
        "F9"
    ],
    "selector": "[data-jp-code-runner]"
}

如果您不想继续递增您的 运行 订单号 and/or 想要重置您的 运行 订单号,您还可以为“重新启动内核和运行 所有单元格”,如“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 选择器,您可以在浏览器的开发控制台中检查 Jupyter window 来查找和查看它们。选择器“[data-jp-code-runner]”对应于各个 Jupyter window 选项卡。

此外,在 JupyterLab 中,执行“Esc”、“Command + a”和“Shift enter”是可行的,但有点不对,因为每次这样做都会在笔记本底部创建一个新的空白代码单元格。你应该做的是“Ctrl enter”或“Command enter”,而不是“Shift enter”。

对于Windows 10

对于最新的 Jupyter Notebook 版本,请转到 Help > Edit Keyboard Shortcuts > run all cells > 然后单击 + 符号添加快捷方式 我会输入 Z 然后再次单击 + 添加 > 然后单击 OK 保存。