36

我已经使用 Jupyter Notebooks 几年了。我刚刚前往 Jupyter Lab,但我发现缺乏捷径是一种负担。

例如,我注意到我可以在左侧面板中搜索命令。但我似乎无法轻松地将它们绑定到键盘快捷键。这甚至可能吗?

例如,我想用“O”折叠当前单元格输出,用“Shift O”折叠所有代码单元格。

在此处输入图像描述

4

6 回答 6

35

这个问题在 GitHub 上得到回答。您还可以在此处查找要在键盘快捷方式用户覆盖中输入的正确command名称,因为它们并不总是与命令侧栏中显示的相同。

以下是我使用的一些:

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

    {
      "command": "notebook:hide-all-cell-outputs",
      "keys": [
        "Ctrl L"
      ],
      "selector": ".jp-Notebook:focus"
    },

    {
      "command": "notebook:hide-all-cell-code",
      "keys": [
        "Shift O"
      ],
      "selector": ".jp-Notebook:focus"
    }
  ]
}

它允许您通过按一次隐藏单元格输出O并通过按两次显示单元格输出O。最后一个Shift + O按照您的要求折叠所有单元格代码。

于 2018-03-15T20:27:30.040 回答
20

在高级设置的键盘快捷键上,此代码适用于上下移动单元格

{
    // Move cell up
    "shortcuts": [
        {
      "selector": ".jp-Notebook:focus",
      "command": "notebook:move-cell-up",
      "keys": [
        "Alt ArrowUp"
      ]
        },
    // Move cell down
        {
      "selector": ".jp-Notebook:focus",
      "command": "notebook:move-cell-down",
      "keys": [
        "Alt ArrowDown"
      ]
    }
    ]

}

上下移动单元格

于 2019-11-03T16:25:24.593 回答
9

我使用这些设置来绑定将单元格向上/向下移动到 Ctrl + Up/Down 的操作:

{
    // Move cell up
    "notebook:move-cell-up": {
      "selector": ".jp-Notebook:focus",
      "command": "notebook:move-cell-up",
      "keys": [
        "Ctrl ArrowUp"
      ]
    },

    // Move cell down
    "notebook:move-cell-down": {
      "selector": ".jp-Notebook:focus",
      "command": "notebook:move-cell-down",
      "keys": [
        "Ctrl ArrowDown"
      ]
    }
}
于 2018-07-17T08:01:52.050 回答
3

上面 pX0r 和 plalanne 的答案对我有用,对 Mac 做了一些小的修改。

我希望这个循序渐进的迭代对像我这样的初级程序员有所帮助。总结一下:

  1. command ,在“设置”选项卡下或在 Mac 中打开“高级设置编辑器” 。
  2. 导航到键盘快捷键。您应该会看到 plalanne 回答的屏幕。
  3. 使用 pX0r 的代码,但是Ctrl Arrowup在 Mac 中保留的键绑定中进行一项更改以查看所有正在运行的应用程序(如果您以这种方式设置)。同样,Shift Arrowup用于选择多个单元格。结果,我选择了Alt Arrowup。请注意 Mac 键盘上的键是 alt/option。您必须将其称为Alt工作。你有它。将下面的代码复制到右侧窗格中的 User Overrides。
  4. 重新打开您的笔记本并测试它是否按预期工作。
  5. 您可以通过这种方式自定义更多的键,只要它在 GitHub 上定义即可。大多数情况下,您只需要从第 72 行开始的命令 ID。
{
    // Move cell up
    "notebook:move-cell-up": {
      "selector": ".jp-Notebook:focus",
      "command": "notebook:move-cell-up",
      "keys": [
        "Alt ArrowUp"
      ]
    },

    // Move cell down
    "notebook:move-cell-down": {
      "selector": ".jp-Notebook:focus",
      "command": "notebook:move-cell-down",
      "keys": [
        "Alt ArrowDown"
      ]
    }
}
于 2019-01-16T20:55:03.260 回答
1

您应该在设置/键盘快捷键中编辑设置文件。这里 :

Jupyter 实验室键盘快捷键

在那里,您可以指定任何您想要的自定义快捷方式!

于 2018-03-15T17:21:02.630 回答
1

如果您无法保存“用户首选项”设置并出现语法错误

[附加属性错误] 命令不是有效属性

您可能错过了嵌套在“快捷方式”列表中,如此所述。此外,要覆盖旧设置,请执行以下操作,以激活下一个选项卡和激活上一个选项卡为例:

{
    "shortcuts": [
        {
            "command": "application:activate-next-tab",
            "keys": [
                "Ctrl Shift ]"
            ],
            "selector": "body",
            "disabled": true  // disable old setting
        },
        {
            "command": "application:activate-previous-tab",
            "keys": [
                "Ctrl Shift ["
            ],
            "selector": "body",
            "disabled": true  // disable old setting
        },
        {
            "command": "application:activate-next-tab",
            "keys": [
                "Ctrl 1"  // enable new shortcut key
            ],
            "selector": "body"
        },
        {
            "command": "application:activate-previous-tab",
            "keys": [
                "Ctrl 2"  // enable new shortcut key
            ],
            "selector": "body"
        }
    ]
}

现在您可以单击保存并刷新浏览器以使新设置生效。

于 2019-09-18T10:06:12.267 回答