Ярлыки для Jupyter

Я пользуюсь ноутбуками Jupyter уже пару лет. Я только что отправился в Лабораторию Jupyter, но обнаружил, что отсутствие ярлыков является обузой.

Например, я заметил, что могу искать команды в левой палитре. Но я не могу связать их с помощью сочетания клавиш. Это вообще возможно?

Например, я хочу свернуть текущий вывод ячейки с помощью "O" и свернуть все ячейки кода с помощью "Shift O".

enter image description here

Ответы

Ответ 1

Ответ на этот вопрос на GitHub здесь. Вы также можете посмотреть здесь правильные имена 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 по вашему запросу.

Ответ 2

Я использую эти настройки для привязки действий для перемещения ячейки вверх/вниз до 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"
      ]
    }
}

Ответ 3

Вы должны отредактировать файл настроек в меню "Настройки"/"Клавиши быстрого доступа". Вот:

Jupyter lab keyboard shortcut

Там вы можете указать любой пользовательский ярлык, который вы хотите!

Ответ 4

Ответы pX0r и plalanne, приведенные выше, спомогли мне с небольшой модификацией для Mac.

Я надеюсь, что эта пошаговая итерация будет полезна для кого-то вроде меня, который работает программистом. Подвести итоги:

  1. Откройте редактор расширенных настроек на вкладке "Настройки" или command , в Mac.
  2. Перейдите к сочетаниям клавиш. Вы должны увидеть экран с ответом.
  3. Используйте коды pX0r, но сделайте одно изменение в привязке Ctrl Arrowup как Ctrl Arrowup зарезервирован в Mac для просмотра всех запущенных приложений (если он настроен таким образом). Аналогично, Shift Arrowup предназначен для выбора нескольких ячеек. В результате я выбрал Alt Arrowup. Обратите внимание, что клавиша на клавиатуре Mac говорит alt/option. Вы должны называть это Alt для работы. Там у вас есть это. Скопируйте приведенные ниже коды в Переопределения пользователей, которое является правой панелью.
  4. Снова откройте свой ноутбук и проверьте, работает ли он как задумано.
  5. Вы можете настроить другие ключи таким образом, если это определено здесь, на GitHub. По большей части все, что вам нужно, это идентификаторы команд, начинающиеся со строки 72.
{
    // 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"
      ]
    }
}

Ответ 5

Если вы не можете сохранить настройки "User Preferences" и получить синтаксическую ошибку

Команда [дополнительная ошибка свойства] не является допустимым свойством

вы, вероятно, пропустили вложение в список "ярлыков", как описано здесь. Кроме того, чтобы переопределить старый параметр, выполните следующие действия, используя в качестве примера активацию следующей вкладки и активацию предыдущей вкладки:

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

Теперь вы можете нажать "Сохранить" и обновить свой браузер, чтобы новые настройки вступили в силу.