summaryrefslogtreecommitdiff
path: root/doc/cheat.texi
blob: d222a13b187fad6c7fca8c0c7ad0376a6e781580 (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
@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-[
@tab @code{geiser-squarify}
@tab Toggle between () and [] for current form
@item @tab @tab
@item C-M-x
@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-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 @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
@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-completion--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 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 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 indentifier at point
@item M-`, C-.
@tab @code{geiser-completion--complete-module}
@tab Complete module name at point
@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-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