Improve README, especially features/keybinds sections

This commit is contained in:
Takafumi Arakaki 2012-05-15 02:08:24 +02:00
parent e767ccd77e
commit 004006c309
2 changed files with 123 additions and 3 deletions

View file

@ -3,7 +3,7 @@
========================
.. warning:: This is **very** early version.
Do not use it in a serious situation!
Make sure you have backup!
Screenshot
==========
@ -12,6 +12,40 @@ Screenshot
: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
* Syntax highlighting in each cell types (Python/Markdown)
* Help browser (opens when executing ``function?``)
More to come/ideas:
* Auto-completion using `auto-complete.el`_
* Popup help
* Better pager (history, syntax highlighting, ...)
* Better messages/event handling/UI
* Auto-save
* Local auto-backup
* VCS integration
.. _auto-complete.el: http://cx4a.org/software/auto-complete/
Requirements
============
@ -20,17 +54,26 @@ Requirements
* (optional) mumamo_:
It will be automatically loaded when it is on the path.
The official way to setup path is to load nXhtml_.
So you will need to load nXhtml_ *before* loading EIN.
* (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) `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.
EIN is currently tested in Emacs 24.
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
.. _smartrep.el: https://github.com/myuhe/smartrep.el
Usage
@ -49,3 +92,37 @@ Usage
.. _`IPython notebook server`:
http://ipython.org/ipython-doc/stable/interactive/htmlnotebook.html
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 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
.. // KEYS END //

43
ein-dev.el Normal file
View file

@ -0,0 +1,43 @@
;;; ein-dev.el --- Development tools
;; Copyright (C) 2012- Takafumi Arakaki
;; Author: Takafumi Arakaki
;; This file is NOT part of GNU Emacs.
;; ein-dev.el is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; ein-dev.el is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with ein-dev.el. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;;
;;; Code:
(require 'rst)
(defun ein:dev-insert-notebook-mode-map ()
"Insert mode-map into rst document. For README.rst."
(save-excursion
(insert "\n\n::\n\n")
(let ((beg (point)))
(search-forward ".. // KEYS END //")
(move-beginning-of-line nil)
(delete-region beg (point))
(insert "\n")
(goto-char beg)
(insert (substitute-command-keys "\\{ein:notebook-mode-map}"))
(rst-shift-region beg (point) 1))))
;;; ein-dev.el ends here