ここではJupyterLabのショートカットキー設定方法についてメモっておきます。
jupyter notebookだとショートカットキーを設定するUIが付属しているのですがLabの方はJSONで設定してあげる必要があるようです。
1. ショートカットキー無しの操作例
ここでは、notebookのセルで実行されたコードのアウトプットをコマンドパレットを使ってクリアしてみます。
予めショートカットキーが設定されているものもありますが、自分なりのカスタマイズをしたい時ってありますよね。
以下では、JupyterLabのショートカットにキーを割り当てる方法について説明します。
2. ショートカットキー設定方法
2-1. Advanced Settings Editorを開く
Settings
をクリックして Advanced Settings Editor
を開きます。
2-2. Keyboard Shourcutsを開く
Keyboard Shourtcuts
をクリックします。
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"
}
}
ショートカットキーが設定されると右側に対象のキーが表示されるようになります。
以下の例ではキーボードで Shift + C
キーを同時押しするとClear all Outputsが実行されます。
{
"notebook:clear-all-outputs": {
"command": "notebook:clear-all-cell-outputs",
"keys": [
"Shift C"
],
"selector": ".jp-Notebook:focus"
}
}
以下の例ではキーボードで C
を2回連続で押すとClear all Outputsが実行されます。
{
"notebook:clear-all-outputs": {
"command": "notebook:clear-all-cell-outputs",
"keys": [
"C",
"C"
],
"selector": ".jp-Notebook:focus"
}
}
2-4. ショートカット動作例
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