LoginSignup
16
10

More than 5 years have passed since last update.

JupyterLabのショートカットキーを設定する方法

Last updated at Posted at 2018-09-23

ここではJupyterLabのショートカットキー設定方法についてメモっておきます。
jupyter notebookだとショートカットキーを設定するUIが付属しているのですがLabの方はJSONで設定してあげる必要があるようです。

1. ショートカットキー無しの操作例

ここでは、notebookのセルで実行されたコードのアウトプットをコマンドパレットを使ってクリアしてみます。

手動削除バージョン.gif

予めショートカットキーが設定されているものもありますが、自分なりのカスタマイズをしたい時ってありますよね。
以下では、JupyterLabのショートカットにキーを割り当てる方法について説明します。

2. ショートカットキー設定方法

2-1. Advanced Settings Editorを開く

Settings をクリックして Advanced Settings Editor を開きます。

スクリーンショット 2018-09-23 17.38.35.png

2-2. Keyboard Shourcutsを開く

Keyboard Shourtcuts をクリックします。

スクリーンショット 2018-09-23 17.40.11.png

2-3. ショートカット設定例

2-3-1. Clear All Outputsのショートカット例

以下の例ではキーボードで Q キーを押すとClear all Outputsが実行されます。

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

ショートカットキーが設定されると右側に対象のキーが表示されるようになります。

スクリーンショット 2018-09-23 17.46.32.png

以下の例ではキーボードで Shift + C キーを同時押しするとClear all Outputsが実行されます。

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

スクリーンショット 2018-09-23 17.49.29.png

以下の例ではキーボードで C を2回連続で押すとClear all Outputsが実行されます。

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

スクリーンショット 2018-09-23 17.51.56.png

2-4. ショートカット動作例

便利なショートカット.gif

2-5. 複数設定する場合の例

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

  "notebook:kernel-restart": {
    "command": "notebook:restart-kernel",
    "keys": [
      "K",
      "R"
    ],
    "selector": ".jp-Notebook:focus"
  }
}

2-6. パラメーター説明

項目 内容
notebook ショートカットの名前、識別できる任意の名前を設定する
command 実行するコマンドを指定する(#1)
keys ショートカットで使用するキーを指定する
selector 実行対象を指定する、例えば .jp-Notebook:focus だとフォーカスしているnotebookに対して実行する

#1. 実行するコマンドはコマンドパレットで表示される名前とは違います。一覧は以下のソースにあるので確認して適切なものを設定してください。
https://github.com/jupyterlab/jupyterlab/blob/7e67f49160e185b93bfc251c05de050dd65524a6/packages/notebook-extension/src/index.ts#L69

3. 最後に

デフォルトで設定されているキーと被るものは使えないので確認して設定しましょう。(デフォルトを上書きしてしまえば使えるかもしれない?[未確認])
ショートカットをJSONで自由に設定できるのでカーネルの再起動や変更も一発で出来てしまうのがとても便利だと感じました :)

4. 参考

https://stackoverflow.com/questions/49280261/jupyter-lab-shortcuts

16
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
10