JupyterLab:如何使用键盘快捷键清除当前单元格的输出?

ves*_*and 6 python jupyter jupyter-lab

此处已针对 Jupyter Notebooks 提出并回答了此问题。还有一个关于 Jupyter Lab 的建议,以及如何隐藏单元格输出,但不清除它。

使用 下的菜单很容易做到这一点Edit > Clear Outputs。但是你如何使用键盘快捷键来做到这一点?下面的许多其他命令Edit已经有自己指定的快捷方式,但不是这个:

在此处输入图片说明

ves*_*and 6

答案:

您必须Settings > Advanced Settings Editor通过在下插入以下内容来分配自定义快捷键User Preferences

{// List of Keyboard Shortcuts
    "shortcuts": [
        {
            "command": "notebook:clear-cell-output",
            "keys": [
                "F10"
            ],
            "selector": ".jp-Notebook.jp-mod-editMode"
        },
    ]
}
Run Code Online (Sandbox Code Playgroud)

我选择了F10,但大多数其他键或键组合也应该可以使用。我也用过Ctrl Shift Enter

把它放在哪里:

在此处输入图片说明

一些细节:

如果您分配了其他快捷方式,请确保将其添加到其他快捷方式列表中的正确位置。

{// List of Keyboard Shortcuts
    "shortcuts": [
        {
            "command": "notebook:run-in-console",
            "keys": [
                "F9"
            ],
            "selector": ".jp-Notebook.jp-mod-editMode"
        },
        {
            "command": "notebook:clear-cell-output",
            "keys": [
                "F10"
            ],
            "selector": ".jp-Notebook.jp-mod-editMode"
        },
    ]
}
Run Code Online (Sandbox Code Playgroud)

还有一个小秘密:

如果您插入与第二个框中完全相同的内容,您会看到该项目在它旁边Run > Run Selected Text or Current Line in Console变得很好F9

在此处输入图片说明

这会不会是该项目的情况下Edit > Clear Outputs,我不得不说,我不知道为什么。

在此处输入图片说明

据我所知"command": "notebook:clear-cell-output",您分配给所选键盘快捷键的功能应该是确切的功能。但好消息是它完全一样。至少对我来说是这样。

请注意,这种方法最适用于较新版本的 JupyterLab。对于旧版本,正确的方法会有所不同。

这是一个立即测试它的python片段:

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,100,size=(100, 4)), columns=list('ABCD'))
print(df)
Run Code Online (Sandbox Code Playgroud)

  • 我建议将“selector”键下的值更改为“.jp-Notebook:focus”,以使此功能在您处于“单元格选择”模式而不是“单元格内容编辑”模式时起作用。否则,如果您使用字符键来清除输出(例如我习惯于“Q”),您将无法键入该键。 (3认同)