summaryrefslogtreecommitdiff
path: root/README
blob: 2286297b9bde482cf4d0325b08a162b81244f7bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90

* Installation

  - In your .emacs:

    (load-file "<path-to-geiser>/elisp/geiser.el")
    (geiser-setup)

  - Check the geiser customization group for some options with:

      M-x customize-group RET geiser RET

    In particular, customize `geiser-repl-guile-binary' (in
    geiser-repl), which should point to a guile-vm executable.

  - To start a REPL, M-x geiser.

* Quick key reference

*** In Scheme buffers:

    |------------------+-------------------------------------------------|
    | C-cC-z           | Switch to REPL                                  |
    |------------------+-------------------------------------------------|
    | M-.              | Edit symbol at point                            |
    | M-,              | Go back to where M-. was last invoked           |
    | C-cC-em          | Ask for a module and open its file              |
    |------------------+-------------------------------------------------|
    | C-M-x            | Eval definition around point                    |
    | C-cM-e           | Eval definition around point and switch to REPL |
    | C-xC-e           | Eval sexp before point                          |
    | C-cC-r           | Eval region                                     |
    | C-cM-r           | Eval region and switch to REPL                  |
    |------------------+-------------------------------------------------|
    | C-cC-xx          | Macro-expand definition around point            |
    | C-cC-xe          | Macro-expand sexp before point                  |
    | C-cC-xr          | Marcro-expand region                            |
    | C-uC-cC-x[x,e,r] | (With prefix, macro expansions are recursive)   |
    |------------------+-------------------------------------------------|
    | C-cC-k           | Compile and load current file                   |
    | C-cC-l           | Load current file                               |
    |------------------+-------------------------------------------------|
    | C-cC-dd          | See documentation for symbol at point           |
    | C-cC-dm          | See module symbols documentation                |
    | C-cC-dp          | See generic methods                             |
    | C-cC-da          | Toggle autodoc mode                             |
    |------------------+-------------------------------------------------|
    | M-TAB            | Complete symbol at point                        |
    | C-.              | Complete module name at point                   |
    | TAB              | Complete symbol at point or indent              |
    |                  | (If `geiser-mode-smart-tab-p' is t)             |
    |------------------+-------------------------------------------------|

*** In the REPL

    |--------------+-----------------------------------------|
    | C-cC-z, C-cz | Start Scheme REPL (if it's not running) |
    |--------------+-----------------------------------------|
    | M-.          | Edit symbol at point                    |
    | TAB, M-TAB   | Complete symbol at point                |
    | C-.          | Complete module name at point           |
    |--------------+-----------------------------------------|
    | M-p, M-n     | Prompt history, matching current prefix |
    |--------------+-----------------------------------------|
    | C-ck         | Compile and load scheme file            |
    | C-cl         | Load scheme file                        |
    |--------------+-----------------------------------------|
    | C-cd         | See documentation for symbol at point   |
    | C-cm         | See module documentation                |
    | C-ca         | Toggle autodoc mode                     |
    |--------------+-----------------------------------------|

*** In the documentation browser:

    |-----------+----------------------------------------------|
    | n/p       | next/previous page                           |
    | l         | previous page                                |
    | SPC/S-SPC | scroll up/down                               |
    | TAB/S-TAB | next/previous link                           |
    | k         | kill current page and go to previous or next |
    | r         | refresh page                                 |
    | c         | clean browsing history                       |
    | M-.       | edit symbol at point                         |
    | C-cz      | switch to REPL                               |
    | q         | bury buffer                                  |
    |-----------+----------------------------------------------|

*** In backtrace (evaluation/compile result) buffers:

    Default error navigation keys used by emacs' compilation mode.