IPython notebookでemacs or vimのキーバインドを使う

  • 23
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

皆さん、超便利なipython notebook使ってますよね。
そして、vimやemacsユーザーの皆さんは、vimのキーバインドやemacsのキーバインドが使えなくて苦しんでますよね?


そんなあなたに魔法のjsコードをプレゼントしましょう。


以下のjsを、$IPYTHONDIR/profile_default/static/custom/custom.jsの末尾に追記しましょう。

魔法のコード
var my_keymap = 'emacs';
// var my_keymap = 'vim';

$.getScript("/static/components/codemirror/keymap/" + my_keymap + ".js");

IPython.RawCell.options_default.cm_config = {keyMap: my_keymap};
IPython.Cell.options_default.cm_config.keyMap = my_keymap;
IPython.TextCell.options_default.cm_config.keyMap = my_keymap;
IPython.MarkdownCell.options_default.cm_config.keyMap = my_keymap;
IPython.HeadingCell.options_default.cm_config = {keyMap: my_keymap};
IPython.CodeCell.options_default.cm_config.keyMap = my_keymap;

環境変数IPYTHONDIRが存在しない場合は、ipythonを起動して、以下のコードで確認できます。(典型的には$HOME/.ipython, $HOME/.config/ipythonが多いみたいです。詳しくはここ。)

import IPython
IPython.utils.path.get_ipython_dir()

ちなみに確認環境はipython2.1.0.