Jupyter实验室快捷方式

时间:2018-03-14 14:26:15

标签: jupyter jupyter-lab

我几年来一直在使用Jupyter笔记本电脑。我刚刚去了Jupyter实验室,但我发现缺乏捷径是一种负担。

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

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

enter image description here

6 个答案:

答案 0 :(得分:13)

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

以下是我使用的一些内容:

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

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

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

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

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

答案 1 :(得分:4)

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

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

答案 2 :(得分:1)

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

Jupyter lab keyboard shortcut

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

答案 3 :(得分:0)

pX0r和上述plalanne的答案结合起来对我来说是有效的,但对Mac进行了少量修改。

我希望这种循序渐进的迭代对像我这样的婴儿编程人员有所帮助。总结一下:

  1. 在“设置”标签下打开“高级设置编辑器”,或者在Mac中打开command ,
  2. 导航至键盘快捷键。您应该会看到plalanne回答的屏幕。
  3. 使用pX0r的代码,但是在Mac中保留Ctrl Arrowup的键绑定中的一项更改,以查看所有正在运行的应用程序(如果已通过这种方式进行设置)。同样,Shift Arrowup用于选择多个单元格。结果,我选择了Alt Arrowup。请注意,Mac键盘上的键显示alt / option。您必须将其称为Alt才能工作。你有它。将以下代码复制到右窗格的“用户替代”。
  4. 重新打开笔记本并测试笔记本是否可以正常工作。
  5. 您可以以这种方式自定义更多键,只要它在GitHub上here中已定义即可。在大多数情况下,您只需要从第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"
      ]
    }
}

答案 4 :(得分:0)

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

  

[其他属性错误]命令不是有效的属性

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

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

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

答案 5 :(得分:0)

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

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

}

move cell up and down