summaryrefslogtreecommitdiff
path: root/doc/cheat.texi
blob: 105d0c3176278e29ba9226f82758502e7eea0c55 (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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
@node Cheat sheet, No hacker is an island, Between the parens, Top
@chapter Cheat sheet

In the tables below, triple chords always accept a variant with the
third key not modified by @key{Control}; e.g.,
@code{geiser-autodoc-show} is bound both to @kbd{C-c C-d C-s} and
@kbd{C-c C-d s}.

@menu
* Scheme buffers::
* REPL::
* Documentation browser::
@end menu

@node Scheme buffers, REPL, Cheat sheet, Cheat sheet
@section Scheme buffers

@multitable @columnfractions .20 .4 .4
@headitem Key @tab Command @tab Description
@item C-c C-z
@tab @code{geiser-mode-switch-to-repl}
@tab Switch to REPL
@item C-c C-a
@tab @code{geiser-mode-switch-to-repl-and-enter}
@tab Switch to REPL and current module (also @kbd{C-u C-c C-z})
@item C-c C-s
@tab @code{geiser-set-scheme}
@tab Specify Scheme implementation for buffer
@item @tab @tab
@item M-.
@tab @code{geiser-edit-symbol-at-point}
@tab Go to definition of identifier at point
@item M-,
@tab @code{geiser-pop-symbol-stack}
@tab Go back to where M-. was last invoked
@item C-c C-e C-m
@tab @code{geiser-edit-module}
@tab Ask for a module and open its file
@item C-c C-e C-l
@tab @code{geiser-add-to-load-path}
@tab Ask for a directory and add to Scheme load path
@item C-c C-e C-[
@tab @code{geiser-squarify}
@tab Toggle between () and [] for current form
@item C-c C-\
@tab @code{geiser-insert-lambda}
@tab Insert greek lambda or, with prefix, a lambda form
@item @tab @tab
@item C-c C-i
@tab @code{geiser-eval-interrupt}
@tab Interrupt ongoing evaluation
@item C-M-x
@tab @code{geiser-eval-definition}
@tab Eval definition around point
@item C-c C-c
@tab @code{geiser-eval-definition}
@tab Eval definition around point
@item C-c M-e
@tab @code{geiser-eval-definition-and-go}
@tab Eval definition around point and switch to REPL
@item C-c M-c
@tab @code{geiser-eval-definition-and-go}
@tab Eval definition around point and switch to REPL
@item C-x C-e
@tab @code{geiser-eval-last-sexp}
@tab Eval sexp before point
@item C-c C-r
@tab @code{geiser-eval-region}
@tab Eval region
@item C-c M-r
@tab @code{geiser-eval-region-and-go}
@tab Eval region and switch to REPL
@item C-c C-b
@tab @code{geiser-eval-buffer}
@tab Eval buffer
@item C-c M-b
@tab @code{geiser-eval-buffer-and-go}
@tab Eval buffer and switch to REPL
@item @tab @tab
@item C-c C-m C-x
@tab @code{geiser-expand-definition}
@tab Macro-expand definition around point
@item C-c C-m C-e
@tab @code{geiser-expand-last-sexp}
@tab Macro-expand sexp before point
@item C-c C-m C-r
@tab @code{geiser-expand-region}
@tab Macro-expand region
@item @tab @tab
@item C-c C-k
@tab @code{geiser-compile-current-buffer}
@tab Compile and load current file; with prefix, restart REPL before
@item C-c C-l
@tab @code{geiser-load-file}
@tab Load scheme file
@item M-g n, C-x `
@tab @code{next-error}
@tab Jump to the location of next error
@item M-g p
@tab @code{previous-error}
@tab Jump to the location of previous error
@item @tab @tab
@item C-c C-d C-d
@tab @code{geiser-doc-symbol-at-point}
@tab See documentation for identifier at point
@item C-c C-d C-s
@tab @code{geiser-autodoc-show}
@tab Show signature or value for identifier at point in echo area
@item C-c C-d C-m
@tab @code{geiser-doc-module}
@tab See a list of a module's exported identifiers
@item C-c C-d C-i
@tab @code{geiser-doc-look-up-manual}
@tab Look up manual for symbol at point
@item C-c C-d C-a
@tab @code{geiser-autodoc-mode}
@tab Toggle autodoc mode
@item @tab @tab
@item C-c <
@tab @code{geiser-xref-callers}
@tab Show callers of procedure at point
@item C-c >
@tab @code{geiser-xref-callees}
@tab Show callees of procedure at point
@item @tab @tab
@item M-TAB
@tab @code{completion-at-point}
@tab Complete identifier at point
@item M-`, C-.
@tab @code{geiser-capf-complete-module}
@tab Complete module name at point
@end multitable

@node REPL, Documentation browser, Scheme buffers, Cheat sheet
@section REPL

@multitable @columnfractions .20 .4 .4
@headitem Key @tab Command @tab Description
@item C-c C-z
@tab @code{switch-to-geiser}
@tab Start Scheme REPL, or jump to previous buffer
@item C-c M-o
@tab @code{geiser-repl-clear-buffer}
@tab Clear REPL buffer
@item C-c C-k
@tab @code{geiser-repl-interrupt}
@tab Interrupt REPL evaluation (signalling inferior scheme)
@item C-c C-q
@tab @code{geiser-repl-exit}
@tab Kill Scheme process
@item M-.
@tab @code{geiser-edit-symbol-at-point}
@tab Edit identifier at point
@item C-c C-l
@tab @code{geiser-load-file}
@tab Load scheme file
@item TAB
@tab @code{geiser-repl-tab-dwim}
@tab Complete, indent, or go to next error
@item S-TAB (backtab)
@tab @code{geiser-repl--previous-error}
@tab Go to previous error in the REPL buffer
@item M-TAB
@tab @code{completion-at-point}
@tab Complete identifier at point
@item M-`, C-.
@tab @code{geiser-capf-complete-module}
@tab Complete module name at point
@item C-c [, C-c C-[
@tab @code{geiser-squarify}
@tab Toggle between () and [] for current form
@item C-c \, C-c C-\
@tab @code{geiser-insert-lambda}
@tab Insert greek lambda or, with prefix, a lambda form
@item C-c C-r
@tab @code{geiser-add-to-load-path}
@tab Ask for a directory and add to Scheme load path
@item M-p, M-n
@tab (comint commands)
@tab Prompt history, matching current prefix
@item C-c M-p, C-c M-n
@tab (comint commands)
@tab Previous/next prompt inputs
@item C-c C-m
@tab @code{switch-to-geiser-module}
@tab Set current module
@item C-c C-i
@tab @code{geiser-repl-import-module}
@tab Import module into current namespace
@item C-c C-d C-d
@tab @code{geiser-doc-symbol-at-point}
@tab See documentation for symbol at point
@item C-c C-d C-i
@tab @code{geiser-doc-look-up-manual}
@tab Look up manual for symbol at point
@item C-c C-d C-m
@tab @code{geiser-repl--doc-module}
@tab See documentation for module
@item C-c C-d C-a
@tab @code{geiser-autodoc-mode}
@tab Toggle autodoc mode
@end multitable

@node Documentation browser,  , REPL, Cheat sheet
@section Documentation browser

@multitable @columnfractions .20 .4 .4
@headitem Key @tab Command @tab Description
@item TAB, n
@tab @code{forward-button}
@tab Next link
@item S-TAB, p
@tab @code{backward-button}
@tab Previous link
@item N
@tab @code{geiser-doc-next-section}
@tab Next section
@item P
@tab @code{geiser-doc-previous-section}
@tab Previous section
@item f
@tab @code{geiser-doc-next}
@tab Next page
@item b
@tab @code{geiser-doc-previous}
@tab Previous page
@item k
@tab @code{geiser-doc-kill-page}
@tab Kill current page and go to previous or next
@item g, r
@tab @code{geiser-doc-refresh}
@tab Refresh page
@item c
@tab @code{geiser-doc-clean-history}
@tab Clear browsing history
@item ., M-.
@tab @code{geiser-doc-edit-symbol-at-point}
@tab Edit identifier at point
@item z
@tab @code{geiser-doc-switch-to-repl}
@tab Switch to REPL
@item q
@tab @code{View-quit}
@tab Bury buffer
@end multitable

@ifhtml
@html
<hr>
@end html
@end ifhtml