Jupyter实验室捷径

Jupyter实验室捷径,jupyter,jupyter-lab,Jupyter,Jupyter Lab,我已经用Jupyter笔记本电脑好几年了。我刚刚去了Jupyter实验室,但我发现缺少捷径是一种负担 例如,我注意到我可以在左侧调色板中搜索命令但我似乎无法轻松地将它们绑定到键盘快捷键。这可能吗? 例如,我想用“O”折叠当前单元格输出,用“Shift O”折叠所有代码单元格 您应该在设置/键盘快捷键中编辑设置文件。在这里: 在那里,您可以指定您想要的任何自定义快捷方式 这个问题在GitHub上得到了回答。您还可以在键盘快捷键用户覆盖中查找要输入的正确的命令名称,因为它们并不总是与命令侧栏中显示

我已经用Jupyter笔记本电脑好几年了。我刚刚去了Jupyter实验室,但我发现缺少捷径是一种负担

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

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


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


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

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

以下是我使用的一些方法:

{
“快捷方式”:[
{
“命令”:“笔记本:隐藏单元格输出”,
“钥匙”:[
“O”
],
“选择器”:“.jp笔记本:焦点”
},    
{
“命令”:“笔记本:显示单元格输出”,
“钥匙”:[
“O”,
“O”
],
“选择器”:“.jp笔记本:焦点”
},    
{
“命令”:“笔记本:隐藏所有单元格输出”,
“钥匙”:[
“Ctrl L”
],
“选择器”:“.jp笔记本:焦点”
},
{
“命令”:“笔记本:隐藏所有单元格代码”,
“钥匙”:[
“O班”
],
“选择器”:“.jp笔记本:焦点”
}
]
}

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

我使用这些设置绑定将单元格上下移动到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"
      ]
    }
}

pX0r和plalanne上面的答案结合在一起对我起了作用,对Mac做了一些小的修改

我希望这一步一步的迭代对像我这样的初出茅庐的程序员有帮助。总结如下:

  • 在设置选项卡下打开高级设置编辑器,或在Mac中打开
    命令,
  • 导航到键盘快捷键。你应该看到plalanne回答的屏幕
  • 使用pX0r的代码,但是在键绑定中进行一次更改,因为Mac中保留了
    Ctrl-Arrowup
    ,可以查看所有正在运行的应用程序(如果以这种方式设置的话)。类似地,
    Shift arrow up
    用于选择多个单元格。因此,我选择了
    Alt Arrowup
    。请注意,Mac键盘上的键表示alt/option。您必须将其称为
    Alt
    才能工作。给你。将下面的代码复制到右侧窗格中的用户覆盖
  • 重新打开笔记本,测试它是否按预期工作
  • 您可以以这种方式自定义更多的键,只要它是在GitHub上定义的。在大多数情况下,您所需要的只是命令IDs的起始行72
  • 如果无法保存“用户首选项”设置并出现语法错误

    [additional property error]命令不是有效的属性

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

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

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

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

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

    是的,我看到了。但是我认为我想要的特定命令是不可用的。我设法自定义了一些快捷方式,但找不到您提到的命令谢谢。我试过这个,效果很好,但不知怎么的,它真的很慢。按下“O”键后,折叠单元格输出需要1秒以上的时间。你知道这是什么原因吗?如果我进入查看->折叠所选输出,它是即时的。(我在macOS上,如果这有什么关系的话)啊,我找到了原因:第二个快捷方式也使用了O,因此它正在等待第二个O是否被键入。如果我注释掉第二个键盘快捷键,它会按预期工作。很好,这里的东西,有代码可以隐藏选定的单元格代码吗?@jeschwar:有没有一个干净的列表,可以包含在键盘快捷键覆盖中的所有可能的命令?奇怪的是,他们没有一个主列表,你可以在那里进行更改。否则,你如何知道命令的名称?@Nemo From“你需要格式化它,以便有一个包含多个条目的“快捷方式”列表:”。你是否能够将JupyterLab调整到一个更有用的设置,或者你仍然坚持使用NB?这与问题无关。
    {
        // 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"
          ]
        }
        ]
    
    }