用于清除 Jupyter Notebook 中单元格输出的键盘快捷键

Keyboard shortcut to clear cell output in Jupyter notebook

有谁知道在 Jupyter Notebook 中清除(而不是切换)单元格输出的键盘快捷键是什么?

您可以在 UI 中设置自己的快捷方式(对于最新的主版本):

可以在任何打开的笔记本中 Help > Keyboard Shortcuts 中找到此菜单。

对于小于 5 的版本:

选项 1 -- 快速破解:

将单元格类型更改为原始然后返回代码:EscRY 将丢弃输出。

选项 2 -- 自定义快捷方式(无 GUI):

为此,您需要编辑通常位于 ~/.jupyter/custom/custom.jscustom.js 文件(如果不存在,请创建它)。

在那里,你必须添加

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');
}

您可以在那里为所有您喜欢的花哨的东西添加快捷方式,因为第二个参数可以是一个函数 (docs)

如果您想要其他标准命令的映射,您可以通过 运行 在笔记本中转储所有可用命令的列表:

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)

在单元格开头添加以下内容,运行 它:

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

只是为 JupyterLab 用户添加。 Ctrl,(高级设置)并在键盘快捷键下的“用户参考”中粘贴以下内容对我来说很有效。

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

取决于您是否将 命令面板 视为快捷方式。我愿意。

  1. 按 'control-shift-p',打开命令面板。
  2. 然后键入 'clear cell output'。这将使您 select 清除输出的命令。

转到 Help -> Edit Keyboard Shortcuts

然后将您想要的快捷方式添加到“清除单元格”字段。

我刚刚查看并发现 cell|all output|clear 可用于:

服务器信息: 您正在使用 Jupyter 笔记本。

笔记本服务器版本为:6.1.5 此版本 Python 上的服务器是 运行: Python 3.8.3(tags/v3.8.3:6f8c832,2020 年 5 月 13 日,22:37:02)[MSC v.1924 64 位 (AMD64)]

当前内核信息: Python 3.8.3(tags/v3.8.3:6f8c832,2020 年 5 月 13 日,22:37:02)[MSC v.1924 64 位 (AMD64)] 键入 'copyright'、'credits' 或 'license' 以获取更多信息 IPython 7.19.0 -- 增强的交互 Python。类型 '?'寻求帮助。

您可以通过命令行执行此操作: jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace *.ipynb

这不是键盘快捷键,但要清除所有输出,您可以单击以下按钮:

要 delete/clear JupyterLab 中的单个单元格输出(无需编辑 > 清除输出),转到 设置>高级设置编辑器 (Ctrl+,)>Keyboard Shortcuts 并将其添加到“快捷方式”:[...]

{ “命令”:“笔记本:透明电池输出”, “钥匙”:[ “班次D”, “转移D” ], “选择器”:“.jp-笔记本:焦点” }

并保存它! (Ctrl + S)

然后在编辑器中,只需按 Esc 退出编辑模式,然后按 Shift + d + d。