Is there a shortcut to run all cells in an IPython notebook?
And if not, does this have a specific reason?
Is there a shortcut to run all cells in an IPython notebook?
And if not, does this have a specific reason?
For the latest jupyter notebook, (version 5) you can go to the 'help' tab in the top of the notebook and then select the option 'edit keyboard shortcuts' and add in your own customized shortcut for the 'run all' function.
Easiest solution:
Win/Linux:
Esc (unselect potential cells or edit modes)
CtrlA (select all cells)
ShiftEnter (run all selected)
Mac:
Esc (unselect potential cells or edit modes)
⌘A (select all cells)
ShiftEnter (run all selected)
There is a menu shortcut to run all cells under Cell > "Run All". This isn't bound to a keyboard shortcut by default- you'll have to define your own custom binding from within the notebook, as described here.
For example, to add a keyboard binding that lets you run all the cells in a notebook, you can insert this in a cell:
%%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;
}}
);
If you run this code from within iPython notebook, you should find that you now have a keyboard binding to run all cells (in this case, press ctrl-M followed by r)
Jupyter Lab 1.0.4:
In the top menu, go to: Settings->Advanced Settings Editor->Keyboard Shortcuts
Paste this code in the User Preferences
window:
{
"shortcuts": [
{
"command": "runmenu:run-all",
"keys": [
"R",
"R"
],
"selector": "[data-jp-kernel-user]:focus"
}
]
}
user-preferences
window)This will be effective immediately. Here, two consecutive 'R' presses runs all cells (just like two '0' for kernel restart).
Notably, system defaults
has empty templates for all menu commands, including this code (search for run-all
). The selector
was copied from kernelmenu:restart
, to allow printing r
within cells. This system defaults
copy-paste can be generalized to any command.
I've been trying to do this in Jupyter Lab so thought it might be useful to post the answer here. You can find the shortcuts in settings and also add your own, where a full list of the possible shortcuts can be found here.
For example, I added my own shortcut to run all cells. In Jupyter Lab, under Settings > Advanced Settings, select Keyboard Shortcuts, then add the following code to 'User Overrides':
{
"notebook:run-all-cells": {
"command": "notebook:run-all-cells",
"keys": [
"Shift Backspace"
],
"selector": ".jp-Notebook.jp-mod-editMode"
}
}
Here, Shift + Backspace will run all cells in the notebook.
As of 5.5 you can run Kernel > Restart and Run All
If you're working in JupyterLab, you can edit the JSON settings directly to add a simple keyboard shortcut to "run all cells".
{
"args": {},
"command": "runmenu:run-all",
"keys": [
"F9"
],
"selector": "[data-jp-code-runner]"
}
If you don't want to keep incrementing your run order numbers and/or want to reset your run order numbers, you can also assign a keybind to "Restart kernel and run all cells", like to "F8":
{
"args": {},
"command": "runmenu:restart-and-run-all",
"keys": [
"F8"
],
"selector": "[data-jp-code-runner]"
},
Also, here's how to run all cells above or below your current cell:
{
"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]"
},
FYI, the "selectors" are CSS selectors, you can inspect the Jupyter window in your browser's dev console to find and see them. The selector "[data-jp-code-runner]" corresponds to the individual Jupyter window tabs.
Also, in JupyterLab, doing "Esc" and "Command + a" and "Shift enter" works but is a bit wrong because it creates a new blank code cell at the bottom of your notebook everytime you do so. What you should do instead is "Ctrl enter" or "Command enter", instead of "Shift enter".
A very simple way to do so with IPython that worked for me in Visual Studio Code is to add the following:
{
"key": "ctrl+space",
"command": "jupyter.runallcells"
}
to the keybindings.json
that you can access by typing F1 and 'open keyboard shortcuts'.
For Windows 10
For latest Jupyter Notebook version go to Help
> Edit Keyboard Shortcuts
> run all cells
> Then click +
sign to add shortcut I would type Z
then click +
again to add > then click OK
to save.