快捷键清除 Jupyter 笔记本电脑的电池输出

有人知道在木星笔记本电脑中清除(而不是切换)电池输出的快捷键是什么吗?

150016 次浏览

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.

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)

Add following at start of cell and run it:

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

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"
}
]
}

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

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

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.

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

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

enter image description here

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.