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

JupyterLab: How to clear output of current cell using a keyboard shortcut?

这个问题已经针对 Jupyter Notebooks 提出并得到了回答。关于 JupyterLab 还有一个关于如何 隐藏 单元格输出但不清除它的建议。

使用 Edit > Clear Outputs 下的菜单非常简单。但是如何使用键盘快捷键来实现呢? Edit 下的许多其他命令已经有自己指定的快捷方式,但这个不是:

答案:

您必须在 Settings > Advanced Settings Editor 下分配自定义快捷键,方法是在 User Preferences 下插入以下内容:

{// List of Keyboard Shortcuts
    "shortcuts": [
        {
            "command": "notebook:clear-cell-output",
            "keys": [
                "F10"
            ],
            "selector": ".jp-Notebook.jp-mod-editMode"
        },
    ]
}

我选择了 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 > 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)