「Jupyter Notebook」が便利なのは、コードの入力もその結果のグラフや表も同じWebページに表示できることです。それをそのままファイルに保存することもできます。そのため、「データ分析」のように、データを可視化しながら試行錯誤したい分野では欠かせないツールとなっています。
Jupyter Notebook自体は、Webアプリケーションであり、マウスを用いて画面のツールバーから操作できるようになっていますが、一般的なアプリケーションと同様にショートカットキーも用意されています。今回は、その中から最初に覚えておくと便利なものをご紹介します。
以下のように、Jupyter Notebookのほかにも、後継にあたる「JupyterLab」やGoogleのクラウドに配置された「Google Colaboratory」がありますが、今回はなるべくこの3つで共通して使える基本的なショートカットキーを選びました。
- Jupyter Notebook
- JupyterLab
- Google Colaboratory(Colab)
プログラミングをしているときは、なるべく画面から目を離さず指はホームポジションを維持したいものです。そのためには、ショートカットキーが必要です。ぜひ本記事を快適なプログラミングのための参考にしていただければと思います。
本記事の目次
モード(編集、コマンド)の切り替え
Jupyter NotebookとJupyterLabには以下の2つのモードがあります。
- 編集モード(Editモード):セルへのコード入力を受け付ける状態
- コマンドモード(Commandモード):セルの操作などのコマンドを受け付ける状態
この2つは以下のように Esc と Enter のキーで切り替えできます。
モードの変更 | Windows | Mac |
---|---|---|
Commandモード ▶ Editモード | Enter | |
Editモード ▶ Commandモード | Esc | |
(Google Colabの場合は Ctrl + M が相当する) |
Google Colabでは明確にモードを分けていませんが、Ctrl + M を押すことでCommandモードと同様にコマンドを受け付ける状態になります。
モードの見分け方
Jupyter Notebookでは以下のように左端のバーが「緑色」になっていればEditモード、「青色」であればCommnadモードと見分けることができます。
JupyterLabでは、以下のように下端のステータスバーのところにモードが表示されます。
カーソルの移動
コードを入力するとき(つまりEditモード)、カーソルは矢印キーでは1文字分しか移動できませんが、以下のショートカットキーを使えば、少し離れた場所でも瞬時に移動できます。
行の先頭・末尾へ移動
カーソルの行内移動 | Windows | Mac |
---|---|---|
行頭に移動 | Home | Command + ◀ |
Ctrl + A でも可能 | ||
行尾に移動 | End | Command + ▶ |
Ctrl + E でも可能 |
セルの先頭・末尾へ移動
カーソルのセル内移動 | Windows | Mac |
---|---|---|
セルの先頭に移動 | Ctrl + Home | Command + ▲ |
セルの末尾に移動 | Ctrl + End | Command + ▼ |
カーソルによるテキスト選択
Shift を押しながら、上記の方法でカーソルを移動させれば、広い範囲を瞬時に選択できます。
1行をショートカットキーで選択
範囲を選択する前に、ショートカットキーで行頭に移動しておけば、以下の手順で1行だけを選択することも簡単にできるようになります。
- Home(Macは Command + ◀)で行の先頭に移動
- Shift を押しながら End(Macは Command + ▶)で行末まで選択
カーソルから先頭・末尾までの選択
Shift を押しながら Ctrl + Home(Macは Command + ▲)により、カーソルからセルの先頭までを選択できます。
テキスト編集のショートカットキーは普段と同じ
テキストのコピーとペーストは、普段と同じくCtrl +C(Macは Commnad +C) と Ctrl + V(Macは Commnad +V)が使えます。
また、Macの場合は、上記のカーソル移動の Ctrl + A などと同様に以下のようなMacのテキスト編集で一般に有効になっているショートカットキーも使えます。
動作 | Mac |
---|---|
1行上にカーソル移動 | Ctrl + P |
1行下にカーソル移動 | Ctrl + N |
下に1行挿入 | Ctrl + O |
カーソルから行末までを削除 | Ctrl + K |
文字を入れ替える | Ctrl + T |
次の単語に移動 | Option + ▶ |
前の単語に移動 | Option + ◀ |
セルの実行
現在のセルの実行 | Windows | Mac |
---|---|---|
実行後=下のセルに移動(ない場合は追加) | Shift + Enter | |
実行後=セルはそのままの位置 | Ctrl + Enter | |
実行後=下に新しいセルを挿入 | Alt + Enter | Option + Enter |
実行後の動作でショートカットキーが異なりますが、一般には Shift + Enter をよく用います。特にノートブックの下に順次セルを足しながらコーディングするときには手間がかかりません。
セルの操作
セルの挿入や削除などの操作をキーボードで行うには、Ctrlキーとの組み合わせではなく、コマンドで用います。そのため、最初にEscキーを押して「Commandモード」にしておきます。
Google Colabの場合は、モードは区別されていませんが、最初にCtrl + M を押すことで、同様にコマンドを受け付ける状態になります。
セルの挿入・削除
セルの挿入・削除 | Commandモード | |
---|---|---|
Windows | Mac | |
上にセルを挿入 | A | |
下にセルを挿入 | B | |
現在のセルを削除 | D, D (= D を2回) |
セルのコピー・カット・ペースト
セルのコピー・カット・ペースト | Commandモード | |
---|---|---|
Windows | Mac | |
現在のセルをコピー | C | |
現在のセルをカット | X | |
現在のセルの下にペースト | V | |
現在のセルの上にペースト | Shift + V |
セルの複数選択
セルの操作と同様に最初にEscキーを押して「Commandモード」にしておきます。
Google Colabの場合は、モードは区別されていませんが、同じくEscキーを押して、セル内のカーソルをフォーカスアウトさせるとセルを複数選択できる状態になります。
セルの複数選択 | Commandモード | |
---|---|---|
Windows | Mac | |
現在のセルから上に複数選択 | Shift + ▲ | |
現在のセルから下に複数選択 | Shift + ▼ | |
すべてのセルを選択 | Ctrl + A | Commnad + A |
選択した複数のセルだけ実行することも可能
上記の方法でセルを複数選択した状態で、Ctrl + Enter を押せば、その選択したセルだけを実行できます(複数選択した場合は上から順に実行されます)。つまり、後から変更した部分だけを再実行できます。これは、Jupyter Notebookらの利点の1つでもありまあす。
また、すべてのセルを選択した状態で、Ctrl + Enter を押せば、すべてのセルを上から再度実行することもできます。
カーネルの再起動
セルを順次付け足しながらプログラミングをして行くと、前に実行したセルに入力した変数の値は、カーネルと呼ばれるPythonの実行プロセスが起動している限り記憶されたままになっています。
このカーネルを再起動すると、変数の値など記憶されたものはすべてクリアされ、まっさらな状態になります。キーボードでカーネルを再起動するには、セルの操作と同様に最初にEscキーを押して「Commandモード」にしておきます。
Google Colabの場合も、セルの操作と同様に最初にCtrl + M を押してコマンドを受け付ける状態にしておきますが、コマンドは異なりピリオドキーのみとなります。
カーネルの再起動 | Commandモード | |
---|---|---|
Windows | Mac | |
Jupyter Notebook, JupytarLab | 0, 0 (= ゼロ0 を2回) | |
Google Colab | .(ピリオド) |
カーネルを再起動してすべてのセルを実行
カーネルの再起動に続けてすべてのセルを上から実行したい場合は、ツールバーのメニューから可能です(デフォルトでは対応するショートカットキーは登録されていません)。
Jupyter NotebookとJupyterLabでは、[Kernel]▶[Restart Kernel and Run All Cells…]、Google Colabの場合は、[ランタイム]▶[再起動してすべてのセルを実行]を選択します。
最後に
Jupyter Notebookらを使う利点は、データを可視化しながらコーディングできる点に加えて、コードを「セルというブロック」ごとに操作できる点もあります。コードのコピペなどがセルごとにできるだけでなく、途中で変更したセルだけを再実行できます。先頭から毎回実行し直す必要がないので、試行錯誤が捗ります。
今回は、Jupyter Notebookをはじめとする3つに共通の機能についてショートカットキーを紹介しましたが、「Google Colaboratory(Colab)」はさらに使いやすくするための様々な工夫が凝らさています。
例えば、エラーになるとそのエラーメッセージを「StackOverFlow 」で検索するためのリンクが表示されたり、Ctrl + D( MacはCommand + D )で同じ変数名を一斉に変更できるようになるなど、いろいろと小技が効いています。インストールもいらないので、はじめての場合はまずGoogle Colabを利用してみるのも良いと思います。