No description
Find a file
2012-05-17 14:05:47 +02:00
tests Add tests for ein:cell-from-json 2012-05-17 14:05:47 +02:00
debug-ein.el Suppress warnings from compiler when using mumamo 2012-05-16 05:26:38 +02:00
ein-ac.el Move ein:dotty-syntax-table to ein-util.el 2012-05-16 04:15:10 +02:00
ein-cell.el Add ein:notebook-set-collapsed-all 2012-05-16 21:18:25 +02:00
ein-completer.el Add completion using auto-complete-mode 2012-05-15 23:14:59 +02:00
ein-dev.el Add ein:dev-reload command 2012-05-15 05:26:34 +02:00
ein-events.el First commit of bare bone version 2012-05-07 14:41:15 +02:00
ein-kernel.el Fix ein:kernel-restart: method was wrong 2012-05-17 05:40:21 +02:00
ein-kill-ring.el Add ein-kill-ring module and its tests 2012-05-14 23:44:00 +02:00
ein-log.el Rename ein:log-with-buffer to ein:with-read-only-buffer 2012-05-14 03:06:41 +02:00
ein-mumamo.el Syntax highlighting of traceback works in plain mode 2012-05-13 08:36:21 +02:00
ein-node.el First commit of bare bone version 2012-05-07 14:41:15 +02:00
ein-notebook.el Add ein:notebook-restart-kernel-command 2012-05-17 05:35:38 +02:00
ein-notebooklist.el Key "q" for burying notebook list buffer 2012-05-17 04:10:27 +02:00
ein-pager.el Add ein:pager-goto-docstring-bset-loc 2012-05-15 05:55:52 +02:00
ein-smartrep.el Add ein:notebook-insert-cell-above-command 2012-05-14 22:14:42 +02:00
ein-utils.el Add tests for ein:cell-from-json 2012-05-17 14:05:47 +02:00
ein-websocket.el Workaround the problem in websocket.el 2012-05-13 21:29:38 +02:00
ein.el Support lazy loading by default 2012-05-14 18:51:50 +02:00
README.rst Tweak README 2012-05-16 06:11:31 +02:00

========================
 Emacs IPython Notebook
========================

.. warning:: This is **very** early version.
             Make sure you have backup!

Screenshot
==========

.. figure:: http://farm8.staticflickr.com/7125/7006219050_2d424b4ece_z.jpg
   :alt: Plotting in Emacs IPython Notebook


Features
========

* Copy/paste cells, even to/from different notebooks.
* Console integration: You can easily connect to kernel via console
  application.  This enables you to start debugging in the same
  kernel.

These features are currently not in the native IPython notebook, so
use Emacs IPython Notebook client (EIN) if you want them!  Of course,
EIN does not (and won't) implement rich object representation as
native IPython Notebook web client, and you should use browser also to
get full power of IPython Notebook.  EIN aims at making notebook
*editing* more effective.

Other features:

* Inline images
* Auto/manual-completion
* Popup (tooltip) help
* Syntax highlighting in each cell types (Python/Markdown)
* Help browser (opens when executing ``function?``)

More to come/ideas:

* Better pager (history, syntax highlighting, ...)
* Better messages/event handling/UI
* Highlight latex maths in markdown text
* Auto-save
* Local auto-backup
* VCS integration


Requirements
============

* IPython_ **0.12.1**: EIN won't work with older versions.
* `websocket.el`_
* (optional) mumamo_:
  It will be automatically loaded when it is on the path.
  The official way to setup path is to load nXhtml_.
* (optional) markdown-mode
* (optional) python-mode:
  It should work with either python.el or python-mode.el.
  Fabian Gallina's `python.el`_ is required to use
  ``ein:notebook-console-open`` command.
* (optional) `auto-complete.el`_
* (optional) `smartrep.el`_:
  This package enables you to omit typing prefix keys (e.g.,
  ``C-c C-n C-n C-n ...`` instead of ``C-c C-n C-c C-n C-c C-n ...``).
  You need to require subpackage (``(require 'ein-smartrep)``) to enable
  this feature.

Also, EIN heavily relies on standard Emacs libraries including EWOC
and EIEIO.  EIN is currently tested in Emacs 24.1.

.. _IPython: http://ipython.org/
.. _websocket.el: https://github.com/ahyatt/emacs-websocket
.. _mumamo: http://www.emacswiki.org/emacs/MuMaMo
.. _nXhtml: http://ourcomments.org/Emacs/nXhtml/doc/nxhtml.html
.. _python.el: https://github.com/fgallina/python.el
.. _auto-complete.el: http://cx4a.org/software/auto-complete/
.. _smartrep.el: https://github.com/myuhe/smartrep.el


Usage
=====

1. Install module.
   Put Emacs lisp ``ein*.el`` files in your load path.

2. Require module::

     (require 'ein)

3. Start `IPython notebook server`_.

4. Hit ``M-x ein:notebooklist-open`` to open notebook list.

.. _`IPython notebook server`:
   http://ipython.org/ipython-doc/stable/interactive/htmlnotebook.html


Subpackages
-----------

Enable auto-complete::

   (require 'ein-ac)
   (ein:ac-config)
   ;; Or, to enable "superpack" (a little bit hacky improvements):
   ;; (ein:ac-config t)

Enable `smartrep.el`_::

   (require 'ein-smartrep)


Keybinds
--------

.. (ein:dev-insert-notebook-mode-map)

::

   key             binding
   ---             -------

   C-c             Prefix Command
   C-x             Prefix Command

   C-x C-s         ein:notebook-save-notebook-command
   C-x C-w         ein:notebook-rename-command

   C-c C-a         ein:notebook-insert-cell-above-command
   C-c C-b         ein:notebook-insert-cell-below-command
   C-c C-c         ein:notebook-execute-current-cell
   C-c C-d         ein:notebook-delete-cell-command
   C-c C-f         ein:notebook-request-tool-tip-command
   C-c TAB         ein:notebook-complete-cell-command
   C-c C-k         ein:notebook-kill-cell-command
   C-c C-n         ein:notebook-goto-next-cell
   C-c C-o         ein:notebook-console-open
   C-c C-p         ein:notebook-goto-prev-cell
   C-c C-q         ein:notebook-kernel-kill-command
   C-c C-r         ein:notebook-render
   C-c C-t         ein:notebook-toggle-cell-type
   C-c C-y         ein:notebook-yank-cell-command
   C-c C-z         ein:notebook-kernel-interrupt-command
   C-c ESC         Prefix Command

   C-c M-w         ein:notebook-copy-cell-command

.. // KEYS END //