|
||
---|---|---|
.. | ||
img | ||
packages.el | ||
README.org |
IPython Notebook layer
Description
This layer adds support for the package emacs-ipython-notebook
.
Do not hesitate to check the original package README here. Also the wiki has lots of informative stuff.
Features:
- Keybindings available through transient-state or leader key
- Lazy-loading
List of TODOS
This is a WIP, feel free to collaborate.
TODO Maybe it'd be better if there was a state for this
TODO
Make more keybinding to connect
to a python buffer
TODO Deleting visual regions don't work, find out why
Install
Layer
To use this configuration layer, add it to your ~/.spacemacs
. You will need to
add ipython-notebook
to the existing dotspacemacs-configuration-layers
list
in this file.
Dependencies
Install IPython Notebook > 3
pip install ipython[notebook]
What needs to be run
Have an IPython notebook running
ipython notebook
Using the IPython notebook
Open Notebook List
This layer is lazy loaded so the transient-state will only work after you summon the
command ein:notebooklist-open
which is bound to SPC a y o
Key Bindings
The key bindings can be used through a transient state or the usual evil-leader.
Transient-state: ipython-notebook
Once you are in the ipython notebook you can activate the transient-state with
SPC m .
The following table lists the keys. Use them as listed in the transient-state or
prefix with SPC m
to use with your evil-leader.
Key | Function |
---|---|
h |
ein:notebook-worksheet-open-prev-or-last |
j |
ein:worksheet-goto-next-input |
k |
ein:worksheet-goto-prev-input |
l |
ein:notebook-worksheet-open-next-or-first |
H |
ein:notebook-worksheet-move-prev |
J |
ein:worksheet-move-cell-down |
K |
ein:worksheet-move-cell-up |
L |
ein:notebook-worksheet-move-next |
t |
ein:worksheet-toggle-output |
d |
ein:worksheet-kill-cell |
R |
ein:worksheet-rename-sheet |
y |
ein:worksheet-copy-cell |
p |
ein:worksheet-yank-cell |
i |
ein:worksheet-insert-cell-below |
I |
ein:worksheet-insert-cell-above |
u |
ein:worksheet-change-cell-type |
RET |
ein:worksheet-execute-cell-and-goto-next |
C-l |
ein:worksheet-clear-output |
C-S-l |
ein:worksheet-clear-all-output |
C-o |
ein:console-open |
C-k |
ein:worksheet-merge-cell |
C-j |
spacemacs/ein:worksheet-merge-cell-next |
s |
ein:worksheet-split-cell-at-point |
C-s |
ein:notebook-save-notebook-command |
C-r |
ein:notebook-rename-command |
1 |
ein:notebook-worksheet-open-1th |
2 |
ein:notebook-worksheet-open-2th |
3 |
ein:notebook-worksheet-open-3th |
4 |
ein:notebook-worksheet-open-4th |
5 |
ein:notebook-worksheet-open-5th |
6 |
ein:notebook-worksheet-open-6th |
7 |
ein:notebook-worksheet-open-7th |
8 |
ein:notebook-worksheet-open-8th |
9 |
ein:notebook-worksheet-open-last |
+ |
ein:notebook-worksheet-insert-next |
- |
ein:notebook-worksheet-delete |
x |
ein:notebook-close |
Normal mode
In normal mode the following key bindings are defined:
Key | Function |
---|---|
gj |
ein:worksheet-goto-next-input |
gk |
ein:worksheet-goto-prev-input |
C-RET |
ein:worksheet-execute-cell |
S-RET |
ein:worksheet-execute-cell-and-goto-next |
Also SPC f s
saves the notebook like you would a regular buffer.
Insert mode
In normal mode the following key bindings are defined:
Key | Function |
---|---|
C-RET |
ein:worksheet-execute-cell |
S-RET |
ein:worksheet-execute-cell-and-goto-next |
Traceback mode
In traceback mode the following key bindings are defined:
key | Function |
---|---|
RET |
ein:tb-jump-to-source-at-point-command |
n |
ein:tb-next-item |
p |
ein:tb-prev-item |
q |
bury-buffer |
Screenshots
Light
![/TakeV/spacemacs/media/commit/8e3bac32a0d10cb8ab289bf72a455ba3de985292/layers/+lang/ipython-notebook/img/light.png](/TakeV/spacemacs/media/commit/8e3bac32a0d10cb8ab289bf72a455ba3de985292/layers/+lang/ipython-notebook/img/light.png)
Dark
![/TakeV/spacemacs/media/commit/8e3bac32a0d10cb8ab289bf72a455ba3de985292/layers/+lang/ipython-notebook/img/dark.png](/TakeV/spacemacs/media/commit/8e3bac32a0d10cb8ab289bf72a455ba3de985292/layers/+lang/ipython-notebook/img/dark.png)
Bonus
If you want to have a matplotlibrc that looks good with a dark background try
using this matplotlibrc
. Plot background is always transparent by default so
it will look okay for most dark themes out there.