5f12569954
Also adjusted the tags to match the folders the layers are in. I have also updated the binding for imenu mentioned in protobuf layer and adapted the kubernetes tags to register as tool instead of as os.
166 lines
6.3 KiB
Org Mode
166 lines
6.3 KiB
Org Mode
#+TITLE: IPython Notebook layer
|
|
|
|
#+TAGS: layer|programming|util
|
|
|
|
* Table of Contents :TOC_5_gh:noexport:
|
|
- [[#description][Description]]
|
|
- [[#features][Features:]]
|
|
- [[#list-of-todos][List of TODOS]]
|
|
- [[#maybe-itd-be-better-if-there-was-a-state-for-this][Maybe it'd be better if there was a state for this]]
|
|
- [[#make-more-key-binding-to-connect-to-a-python-buffer][Make more key binding to =connect= to a python buffer]]
|
|
- [[#deleting-visual-regions-dont-work-find-out-why][Deleting visual regions don't work, find out why]]
|
|
- [[#install][Install]]
|
|
- [[#layer][Layer]]
|
|
- [[#dependencies][Dependencies]]
|
|
- [[#what-needs-to-be-run][What needs to be run]]
|
|
- [[#using-the-ipython-notebook][Using the IPython notebook]]
|
|
- [[#open-notebook-list][Open Notebook List]]
|
|
- [[#key-bindings][Key bindings]]
|
|
- [[#transient-state-ipython-notebook][Transient-state: =ipython-notebook=]]
|
|
- [[#normal-mode][Normal mode]]
|
|
- [[#insert-mode][Insert mode]]
|
|
- [[#traceback-mode][Traceback mode]]
|
|
- [[#screenshots][Screenshots]]
|
|
- [[#light][Light]]
|
|
- [[#dark][Dark]]
|
|
- [[#bonus][Bonus]]
|
|
|
|
* Description
|
|
This layer adds support for the package =emacs-ipython-notebook=.
|
|
|
|
Do not hesitate to check the original package README [[https://github.com/millejoh/emacs-ipython-notebook][here]]. Also the wiki has
|
|
lots of informative stuff.
|
|
|
|
** Features:
|
|
- Key bindings 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 key binding 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
|
|
|
|
Note that IPython Notebook has now been renamed to [[https://jupyter.org/install][Jupyter Notebook]].
|
|
|
|
#+BEGIN_SRC sh
|
|
pip install jupyter
|
|
#+END_SRC
|
|
|
|
** What needs to be run
|
|
Have an IPython notebook running
|
|
|
|
#+BEGIN_SRC sh
|
|
jupyter notebook
|
|
#+END_SRC
|
|
|
|
* 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~ or =ein:run= which is
|
|
bound to ~SPC a y r~.
|
|
|
|
** 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
|
|
[[file:img/light.png]]
|
|
|
|
** Dark
|
|
[[file:img/dark.png]]
|
|
|
|
* Bonus
|
|
If you want to have a matplotlibrc that looks good with a dark background try
|
|
using [[https://gist.github.com/anonymous/80219c49cb674d01e6b5fab94e759f54][this]] =matplotlibrc=. Plot background is always transparent by default so
|
|
it will look okay for most dark themes out there.
|