Quantcast
Channel: Vimタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 5657

Vim好きのためのJupyter Notebookの初期設定・jjで抜けるとか(jupyter-vim-binding)

$
0
0

まえがき

タイトル通りのことをしたい.弊社の初期の開発環境は何も入っておらず,無意識にjjが表示されがちである(vimあるあるだと思っている).Jupyterでも基本的なvimの環境が入っていることが個人的に望ましいため,これを設定する手順を記述する.なお,会社の環境はlinuxなのだが,クリーンインストールした自宅のPCで記事を書いているため,macOSについてである.ただし,大体同じなハズ.

環境・準備

  • MacOS Catalina 10.15.4
  • python 3.6.5 (pyenv等はお好みで)
  • git

方法

jupyter-vim-binding の導入

基本的にこれでいいと思っている.他にもあると思うが,今回はこれで書く.
まず,pipでjupyter notebookをインストールしておく.どうせ使うのでpandasも.

pip install jupyter
pip install pandas

脳死でgithubに書いてある手順をふむ.

mkdir-p$(jupyter --data-dir)/nbextensions
cd$(jupyter --data-dir)/nbextensions
git clone https://github.com/lambdalisue/jupyter-vim-binding vim_binding
jupyter nbextension enable vim_binding/vim_binding

とりあえず現時点でjupyterを開くと以下のようなものが出てくる.

cd
jupyter notebook

スクリーンショット 2020-04-30 15.16.52.png

これはホームディレクトリだが,とりあえず右上のNewからpython3を選択して開くと,
スクリーンショット 2020-04-30 15.18.41.png

こんなのがでて,Untitled.ipynbが作成される.クリーム色のときnormalモードであり,iでインサートモードに入れる.詳細は本家ページをみるべし.これ

設定をしないとjjでインサートモードを抜けられなくて腹が立つので,キーマッピングを編集する.

キーマッピングの編集

本記事ではnvimで編集する(適当なエディタでどうぞ).~/.jupyterにjupyterの設定がおかれるっぽい.その中のcustom以下にcustom.jsを作成または編集する.

nvim ~/.jupyter/custom/custom.js

エディターが開いたら,以下を保存する.これは公式に書いてあった設定のうち,jjでノーマルモードに戻る設定以外を削除したもの.

// Configure CodeMirror Keymaprequire(['nbextensions/vim_binding/vim_binding',// depends your installation],function(){CodeMirror.Vim.map("jj","<Esc>","insert");// jj setting!});// Configure Jupyter Keymaprequire(['nbextensions/vim_binding/vim_binding','base/js/namespace',],function(vim_binding,ns){// Add post callbackvim_binding.on_ready_callbacks.push(function(){varkm=ns.keyboard_manager;// Allow Ctrl-2 to change the cell mode into Markdown in Vim normal modekm.edit_shortcuts.add_shortcut('ctrl-2','vim-binding:change-cell-to-markdown',true);// Update Helpkm.edit_shortcuts.events.trigger('rebuild.QuickHelp');});});

これでかなり気持ちよく編集ができるようになる.使ってればわかってくるはず.

おわりに

会社の環境だと,セキュリティの関係で何かとインストールがしづらいが,gitは行けたのでなんとかなった.また別の環境になったときはとりあえずこの記事のようにやるようにする.vimmerにとっては少なくともjkhlの移動は死活問題なので,jupyter-vim-bindingだけでも設定するとよいと思う.


Viewing all articles
Browse latest Browse all 5657

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>