default
Jupyter
行番号
custom.js

Jupyterのセルにデフォルトで行番号を表示

Jupyterのセルにデフォルトで行番号を表示

僕は Jupyter Notebook を愛用しているのですが、セルの行番号を表示させるのにいちいちコマンドを入力して表示させるが嫌になったのでデフォルトで設定してみました。

動作

以下はipynbを新規作成した画面ですが、既に行番号が表示されているのがわかると思います。
image.png

そして、新しいセルを作成しても行番号は表示されたままです。
image.png

なお、もちろん一度ファイルを閉じ、jupyter-notebook を再起動しても再び行番号が表示されます。

環境

  • Ubuntu 16.04 LST
  • Python3.5.2
  • jupyter 4.4.4
  • jupyter-notebook 5.6.0

コード

やることは簡単で以下のコードに~/.jupyter/custom/custom.jsに追記するだけです。
~/.jupyter/customのファイルやディレクトリが無い方は以下のコマンドで作成し、新規custom.jsファイルに書き込んでください。

console
$ mkdir -p ~/.jupyter/custom
custom.js
// custom.js
//--------------------------------------------------------------------------------
// Display line numbers in code cell by default
//--------------------------------------------------------------------------------

var cell = Jupyter.notebook.get_selected_cell();
var config = cell.config;
var patch = {
  CodeCell:{
    cm_config:{lineNumbers:true}
  }
}
config.update(patch)

参考