Help us understand the problem. What is going on with this article?

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

More than 1 year has passed since last update.

ここでは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

sky_jokerxx
Linux(rpm系)とGoとPythonとナナチ好きおじさん。OSSサーバやIaaS・DaaS基盤の設計・構築・運用・自動化してクラウド作ってたります。プログラミングに関わらないものはblogに書いてます。
https://linktr.ee/sky_jokerxx
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした