[IPython-dev] Client configuration and vim integration for notebook

Dale Jung dale at dalejung.com
Tue Mar 20 20:21:59 EDT 2012


Were the client side configuration changes from:

http://mail.scipy.org/pipermail/ipython-dev/2012-January/008665.html

merged into master? I took a pass at adding the vim bindings into the notebook and right now it's only configurable in code. 

The code is here: https://github.com/dalejung/ipython

The way I approached is to create a set of Notebook level bindings that sync with the cell's bindings. I wanted to do away with the control-m shortcuts since vim has a non-edit normal mode. 

NormalMode Bindings:
shift + j: move to next cell
shift + k: move to prev cell
shift + y: copy cell
shift + d: cut cell
shift + p: paste cell
shift + a: open cell above
shift + b: open cell below
shift + e: execute cell
shift + f: toggle output on cell

shift + c: change cell to CodeCell
shift + m: change cell to MarkdownCell

TextCell:
i: edit text cell (Note: this toggles the edit window that is in normal mode. you must press i again to edit) 
ESC: get out of insert and render textcell

This isn't the full set of shortcuts, but it allows me to work in the notebook without touching the mouse or using control-m. If any vim users could see how the workflow feels to them. Technically some Notebook shortcuts clobber the vim bindings, but I didn't want to create an additional Notebook Normal mode. I don't personally use the bindings I clashed on but that's only me. 

I haven't used notebook before today so I don't know all the features. I had assumed it was only for presentations, but that cell based editing sure is nice for exploring :)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120320/36e634d6/attachment.html>


More information about the IPython-dev mailing list