Vim plugin to interact with jupyter_ascending
Currently only supports Jupyter Notebook.
First, you must install jupyter_ascending in the python envirenment you're working in. For example:
$ pyenv activate my_notebook_env
$ pip install jupyter_ascendingIt is possible you won't need to run the following commands on newer version of jupyter notebook, but it's recommended that you do anyway, because installing extensions is hard. Or unless you already executed them in the previous step of installing jupyter_ascending.
$ jupyter nbextension install --py --sys-prefix jupyter_ascending
$ jupyter nbextension enable jupyter_ascending --sys-prefix --py
$ jupyter serverextension enable jupyter_ascending --sys-prefix --pyYou can confirm it's installed by checking:
$ jupyter nbextension list
$ jupyter serverextension listThen install this plugin using the vim plugin manager you like. For example:
Plug 'untitled-ai/jupyter_ascending.vim'
Or if you use lua configs:
use 'untitled-ai/jupyter_ascending.vim'
- First create a Jupyter notebook notebook_name.sync.ipynb.
- Then generate a notebook_name.sync.py file using jupytext with "percent format". (see Paired notebooks in jupytext)
- Edit .sync.py file in vim and Jupyter Ascending will update the .sync.ipynb every time .sync.py is saved.
- Send commands to Jupyter notebook via the following mappings:
Execute cell
nmap <space><space>x <Plug>JupyterExecuteExecute all cells
nmap <space><space>X <Plug>JupyterExecuteAllRestart kernel
nmap <space><space>r <Plug>JupyterRestart
NOTE: it syncs your py file with ipynb file whenever you save your py file.
Use # %% to separate cells.
Use # %% [markdown] to make a markdown block.
See doc/jupyter_ascending.txt for more information.
