最近、Emacs よりも Jupyter Notebook の使用率が高いのだけれども(?!)、 今朝 twitter の タイムラインを眺めてたらこんなツイートが流れてきたので、飛びついた。
最近、Jupyter Notebook を本格的に使い始めたけど jupyter themes を使ったらすごくいい感じになった。今のところお気に入りは jt -t monokai -f hack かな。MD のフォントだけ置き換えた。 https://t.co/x7PTYQ60gn pic.twitter.com/oOm4gYHCTe
— aidiary (@sylvan5) 2017 年 5 月 1 日
試してみたら、ものすごくクールだったので、スクショをとってみたのが以下。黒背景、メチャガチャクールだ。
Jupyter Themes
Jupyter Notebook を 黒背景にするには、Jupyter Themes という extentions を使う。
インストールは pip から。
pip install jupyterthemes
これで、jt コマンドが利用出来るようになる。
テーマは以下のテーマがある。私の大好きな monokai がある!!これは、うれしい! 他にも solarized の Light と Dark がある。
$ jt -l
Available Themes:
oceans16
chesterish
grade3
solarizedl
monokai
onedork
solarized-light
テーマの適用には、-t <theme> をつけて jt を呼ぶ。
jt -t monokai
フォルダはこんな感じ。
オプションに -N -T をつけると、ツールバーと ノート名を表示できる。
私の最終的な設定は、以下にした。 code のフォントは プログラミングに適していると言われている Ricty で有名な inconsolata。
jt -t monokai -f inconsolata -N -T
追記
seaborn の縦軸横軸の表示が、背景が黒だとなにもみえなくなった。以下で解決。
custom_style = {'axes.labelcolor': 'white',
'xtick.color': 'white',
'ytick.color': 'white'}
sns.set_style("darkgrid", rc=custom_style)
Emacs KeyBindings
こうなったら、Emacs ライクに Jupyter Notebook をしようと思い、 Emacs ライクにキーバインディングをする方法も調べてみた。以下の extentions を入れる。
pip install jupyter-emacskeys
これで、コードを書くときに Emacs keyBindings が使える、と思ったがここで一つ問題が。 Ctrl + n は Emacs では 下に移動に割当たっているのだけれども、 ブラウザでは新しいウィンドウを開くに割り当てられているので、使えない。
これは、Ctrl + n で新しいウィンドウを開くのを無効にする firefox プラグイン、 “Menu Wizard"を入れることで解決できた。
このプラグイン、バグっているのか再起動すると、設定が消えるので、 ブラウザを立ち上げるたびに設定しないといけないのが難点。 Shift-Alt-M で設定画面が開くのでそこで設定する。
さよなら Emacs
これで Jupyter Notebook が markdown ではなく org-mode でかければ最強なのだけれどもそんなマイナーなニーズには対応していない。
とはいえ、データサイエンティストを目指すには Emacs とはおさらばだ!!