Keyboard shortcut to clear cell output in Jupyter notebook

PythonJupyter Notebook

Python Problem Overview


Does anyone know what is the keyboard shortcut to clear (not toggle) the cell output in Jupyter Notebook?

Python Solutions


Solution 1 - Python

You can setup your own shortcut in the UI (for the latest master version):

enter image description here

This menu can be found in Help > Keyboard Shortcuts in any open notebook.

Solution 2 - Python

For versions less than 5:

Option 1 -- quick hack:

Change the cell type to raw then back to code: EscRY will discard the output.

Option 2 -- custom shortcut (without GUI):

For this, you need to edit the custom.js file which is typically located at ~/.jupyter/custom/custom.js (if it doesn't exist, create it).

In there, you have to add

require(['base/js/namespace']) {
    // setup 'ctrl-l' as shortcut for clearing current output
    Jupyter.keyboard_manager.command_shortcuts
           .add_shortcut('ctrl-l', 'jupyter-notebook:clear-cell-output');
}

You can add shortcut there for all the fancy things you like, since the 2nd argument can be a function (docs)

If you want mappings for other standard commands, you can dump a list of all available commands by running the following in your notebook:

from IPython.core.display import Javascript

js = """
  var jc_html = "";
  var jc_array = Object.keys(IPython.notebook.keyboard_manager.command_shortcuts.actions._actions);
  for (var i=0;i<jc_array.length;i++) {
    jc_html = jc_html + jc_array[i] + "<br >";
  }
  element.html(jc_html);
  """

Javascript(data=js, lib=None, css=None)

Solution 3 - Python

Add following at start of cell and run it:

from IPython.display import clear_output
clear_output(wait=True)

Solution 4 - Python

Just adding in for JupyterLab users. Ctrl, (advanced settings) and pasting the below in User References under keyboard shortcuts does the trick for me.

{
"shortcuts": [
        {
            "command": "notebook:hide-cell-outputs",
            "keys": [
                "H"
            ],
            "selector": ".jp-Notebook:focus"
        },
        {
            "command": "notebook:show-cell-outputs",
            "keys": [
                "Shift H"
            ],
            "selector": ".jp-Notebook:focus"
        }
    ]
}

Solution 5 - Python

Go to Help -> Edit Keyboard Shortcuts.

enter image description here

Then add the Shortcut you desire to the "Clear Cell" field.

enter image description here

Solution 6 - Python

Depends if you consider the command palette a short-cut. I do.

  1. Press 'control-shift-p', that opens the command palette.
  2. Then type 'clear cell output'. That will let you select the command to clear the output.

enter image description here

Solution 7 - Python

I just looked and found cell|all output|clear which worked with:

Server Information: You are using Jupyter notebook.

The version of the notebook server is: 6.1.5 The server is running on this version of Python: Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)]

Current Kernel Information: Python 3.8.3 (tags/v3.8.3:6f8c832, May 13 2020, 22:37:02) [MSC v.1924 64 bit (AMD64)] Type 'copyright', 'credits' or 'license' for more information IPython 7.19.0 -- An enhanced Interactive Python. Type '?' for help.

Solution 8 - Python

You can do this via the command line: jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace *.ipynb

Solution 9 - Python

This is not a keyboard shortcut but to clear all output you can click the following buttons:

enter image description here

Solution 10 - Python

To delete/clear individual cell outputs in JupyterLab (without going to Edit > Clear Output), go to Settings>Advanced Settings Editor (Ctrl+,)>Keyboard Shortcuts and add this to "shortcuts": [...]

{ "command": "notebook:clear-cell-output", "keys": [ "Shift D", "Shift D" ], "selector": ".jp-Notebook:focus" }

And save it! (Ctrl + S)

Then when you are in the editor, just press Esc to escape the edit mode and press Shift + d + d.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionzeslaView Question on Stackoverflow
Solution 1 - PythonDmitrii MagasView Answer on Stackoverflow
Solution 2 - PythonCiprian TomoiagăView Answer on Stackoverflow
Solution 3 - Pythondevil in the detailView Answer on Stackoverflow
Solution 4 - Pythongem7318View Answer on Stackoverflow
Solution 5 - PythonVedhasankaranView Answer on Stackoverflow
Solution 6 - PythonDonalView Answer on Stackoverflow
Solution 7 - PythonRay TayekView Answer on Stackoverflow
Solution 8 - PythonMarkusView Answer on Stackoverflow
Solution 9 - PythonErich PurpurView Answer on Stackoverflow
Solution 10 - PythonJuraj DuržoView Answer on Stackoverflow