summaryrefslogtreecommitdiff
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README48
1 files changed, 23 insertions, 25 deletions
diff --git a/README b/README
index 00df9b8..6793d1e 100644
--- a/README
+++ b/README
@@ -1,4 +1,3 @@
- -*- org -*-
* Overview
Geiser is a generic Emacs/Scheme interaction mode, featuring an
@@ -21,9 +20,9 @@
evaluation/compilation error in an Emacs' compilation-mode
buffer).
- NOTE: if you're not in a hurry, [[http://www.nongnu.org/geiser/][Geiser's website]] contains a nicer
- manual, also included in Geiser tarballs as a texinfo file
- (doc/geiser.info).
+ NOTE: if you're not in a hurry, Geiser's website
+ (http://www.nongnu.org/geiser/) contains a nicer manual, also
+ included in Geiser tarballs as a texinfo file (doc/geiser.info).
* Supported scheme implementations
@@ -40,42 +39,30 @@
file system. Let's call that place <path-to-geiser>.
- In your .emacs:
- #+BEGIN_SRC emacs-lisp
(load-file "<path-to-geiser>/elisp/geiser.el")
- #+END_SRC
*** Byte-compiled
- Create a build directory, `build', say:
- #+BEGIN_SRC shell
$ cd <path-to-geiser>
$ mkdir build; cd build
- #+END_SRC
- Configure and make:
- #+BEGIN_SRC shell
$ ../configure && make
- #+END_SRC
Now, you can use the byte-compiled Geiser in place by adding to
your .emacs:
- #+BEGIN_SRC emacs-lisp
(load "<path-to-geiser>/build/elisp/geiser-load")
- #+END_SRC
or, alternatively, install it with:
- #+BEGIN_SRC shell
$ make install
- #+END_SRC
(you might need to get root access, depending on your installation
directory) and, instead of the above load forms, require
'geiser-install (not 'geiser, mind you) in your emacs
initialization file:
- #+BEGIN_SRC emacs-lisp
(require 'geiser-install)
- #+END_SRC
You're ready to go!
@@ -85,9 +72,7 @@
setting the variable `geiser-impl-installed-implementations' *before*
loading geiser.el. For instance:
- #+BEGIN_SRC emacs-lisp
- (setq geiser-impl-installed-implementations '(racket guile))
- #+END_SRC
+ (setq geiser-impl-installed-implementations '(racket guile))
On opening a scheme file, Geiser will try to guess its Scheme,
defaulting to the first in the list. Use `C-c C-s' to select the
@@ -108,10 +93,11 @@
module are offered.
While that is cool and all, things are even better: if you have
- [[http://nschum.de/src/emacs/company-mode/][company-mode]] installed, Geiser's completion will use it. Just
- require company-mode and, from then on, any new scheme buffer or
- REPL will use it. If you didn't know about Nikolaj Schumacher's
- awesome mode, check [[http://www.screentoaster.com/watch/stU0lSRERIR1pYRFVdXVlRVFFV/company_mode_for_gnu_emacs][this screencast]].
+ company-mode (http://nschum.de/src/emacs/company-mode/) installed,
+ Geiser's completion will use it. Just require company-mode and,
+ from then on, any new scheme buffer or REPL will use it. If you
+ didn't know about Nikolaj Schumacher's awesome mode, check this
+ screencast: <http://goo.gl/yxLQ>.
* Quick key reference
@@ -121,26 +107,32 @@
| C-c C-z | Switch to REPL |
| C-u C-c C-z | Switch to REPL and current module |
| C-c C-s | Specify Scheme implementation for buffer |
+ |---------------------+-------------------------------------------------|
| M-. | Go to definition of identifier at point |
| M-, | Go back to where M-. was last invoked |
| C-c C-e m | Ask for a module and open its file |
+ |---------------------+-------------------------------------------------|
| C-M-x | Eval definition around point |
| C-c M-e | Eval definition around point and switch to REPL |
| C-x C-e | Eval sexp before point |
| C-c C-r | Eval region |
| C-c M-r | Eval region and switch to REPL |
+ |---------------------+-------------------------------------------------|
| C-c C-m x | Macro-expand definition around point |
| C-c C-m e | Macro-expand sexp before point |
| C-c C-m r | Marcro-expand region |
| C-u C-c C-m [x,e,r] | (With prefix, macro expansions are recursive) |
+ |---------------------+-------------------------------------------------|
| C-c C-k | Compile and load current file |
| C-c C-l | Load current file |
+ |---------------------+-------------------------------------------------|
| C-c C-d d | See documentation for identifier at point |
| C-c C-d m | See a list of a module's exported identifiers |
| C-c C-d a | Toggle autodoc mode |
+ |---------------------+-------------------------------------------------|
| C-c< | Show callers of procedure at point |
| C-c> | Show callees of procedure at point |
- | C-c C-x f | See a generic's methods signatures |
+ |---------------------+-------------------------------------------------|
| M-TAB | Complete identifier at point |
| M-`, C-. | Complete module name at point |
| TAB | Complete identifier at point or indent |
@@ -152,14 +144,17 @@
|-------------+----------------------------------------------------|
| C-c C-z | Start Scheme REPL, or jump to previous buffer |
| C-c C-q | Kill Scheme process |
+ | C-c C-k | Nuke REPL: use it if the REPL becomes unresponsive |
+ |-------------+----------------------------------------------------|
| M-. | Edit identifier at point |
| TAB, M-TAB | Complete identifier at point |
| M-`, C-. | Complete module name at point |
| M-p, M-n | Prompt history, matching current prefix |
- | C-c C-k | Nuke REPL: use it if the REPL becomes unresponsive |
+ |-------------+----------------------------------------------------|
| C-c C-m | Set current module |
| C-c C-i | Import module into current namespace |
| C-c C-l | Load scheme file |
+ |-------------+----------------------------------------------------|
| C-c C-d C-d | See documentation for symbol at point |
| C-c C-d C-m | See documentation for module |
| C-c C-d C-a | Toggle autodoc mode |
@@ -171,11 +166,14 @@
| n, f | Next page |
| p, b | Previous page |
| TAB, S-TAB | Next/previous link |
+ |------------+----------------------------------------------|
| k | Kill current page and go to previous or next |
| g, r | Refresh page |
| c | Clear browsing history |
+ |------------+----------------------------------------------|
| ., M-. | Edit identifier at point |
| z | Switch to REPL |
+ |------------+----------------------------------------------|
| q | Bury buffer |
|------------+----------------------------------------------|