You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From the SLIME REPL, press `,` to prompt for commands. There is completion
115
119
over the available systems and packages. Examples:
@@ -124,7 +128,7 @@ and many more.
124
128
With the `slime-quicklisp` contrib, you can also `,ql` to list all systems
125
129
available for installation.
126
130
127
-
### SLY: Sylvester the Cat's Common Lisp IDE
131
+
####SLY: Sylvester the Cat's Common Lisp IDE
128
132
129
133
[SLY](https://github.com/joaotavora/sly) is a SLIME fork that contains
130
134
the following improvements:
@@ -137,7 +141,7 @@ the following improvements:
137
141
* Contribs are first class SLY citizens, enabled by default, loaded with ASDF on demand.
138
142
* Support for [NAMED-READTABLES](https://github.com/joaotavora/sly-named-readtables), [macrostep.el](https://github.com/joaotavora/sly-macrostep) and [quicklisp](https://github.com/joaotavora/sly-quicklisp).
139
143
140
-
## Finding one's way into Emacs' built-in documentation
144
+
###Finding one's way into Emacs' built-in documentation
141
145
142
146
Emacs comes with built-in tutorials and documentation. Moreover, it is
143
147
a self-documented and self-discoverable editor, capable of introspection to let you
@@ -161,7 +165,7 @@ The help keybindings start with either `C-h` or `F1`. Important ones are:
161
165
162
166
Some Emacs packages give even more help.
163
167
164
-
### More help and discoverability packages
168
+
####More help and discoverability packages
165
169
166
170
Sometimes, you start typing a key sequence but you can't remember it
167
171
completely. Or, you wonder what other keybindings are related. Comes
@@ -179,7 +183,7 @@ See also [Helpful](https://github.com/Wilfred/helpful), an alternative to the bu
Put the cursor on any symbol and press `M-.` (`slime-edit-definition`) to go to its
464
468
definition. Press `M-,` to come back.
465
469
466
-
#### Go to symbol, list symbols in current source
470
+
#####Go to symbol, list symbols in current source
467
471
468
472
Use `C-u M-.` (`slime-edit-definition` with a prefix argument, also available as `M-- M-.`) to autocomplete the symbol and navigate to it. This command always asks for a symbol even if the cursor is on one. It works with any loaded definition. Here's a little [demonstration video](https://www.youtube.com/watch?v=ZAEt73JHup8).
469
473
470
474
You can think of it as a `imenu` completion that always work for any Lisp symbol. Add in [Slime's fuzzy completion][slime-fuzzy] for maximum powerness!
471
475
472
476
473
-
#### Crossreferencing: find who's calling, referencing, setting a symbol
477
+
#####Crossreferencing: find who's calling, referencing, setting a symbol
474
478
475
479
Slime has nice cross-referencing facilities. For example, you can ask
476
480
what calls a particular function, what expands a macro, or where a global variable is being used.
@@ -498,14 +502,14 @@ of the above, it lists every kind of references.
498
502
499
503
<aname="Slide-13"></a>
500
504
501
-
## Lisp Documentation in Emacs - Learning About Lisp Symbols
505
+
###Lisp Documentation in Emacs - Learning About Lisp Symbols
502
506
503
-
### Argument lists
507
+
####Argument lists
504
508
505
509
When you put the cursor on a function, SLIME will show its signature
506
510
in the minibuffer.
507
511
508
-
### Documentation lookup
512
+
####Documentation lookup
509
513
510
514
The main shortcut to know is:
511
515
@@ -518,16 +522,16 @@ Other bindings which may be useful:
518
522
-**C-c C-d #** for reader macros
519
523
-**C-c C-d ~** for format directives
520
524
521
-
### Inspect
525
+
####Inspect
522
526
523
527
You can call `(inspect 'symbol)` from the REPL or call it with `C-c I` from a source file.
524
528
525
-
### Macroexpand
529
+
####Macroexpand
526
530
527
531
Use `C-c M-m` to macroexpand a macro call
528
532
529
533
530
-
### Consult the CLHS offline
534
+
####Consult the CLHS offline
531
535
532
536
~~~lisp
533
537
(ql:quickload "clhs")
@@ -539,16 +543,16 @@ Then add this to your Emacs configuration:
539
543
(load "~/.quicklisp/clhs-use-local.el" 'noerror)
540
544
~~~
541
545
542
-
## Miscellaneous
546
+
###Miscellaneous
543
547
544
-
### Synchronizing packages
548
+
####Synchronizing packages
545
549
546
550
**C-c ~** (`slime-sync-package-and-default-directory`): When run in a
547
551
buffer with a lisp file it will change the current package of the REPL
548
552
to the package of that file and also set the current directory of the REPL
549
553
to the parent directory of the file.
550
554
551
-
### Calling code
555
+
####Calling code
552
556
553
557
**C-c C-y** (`slime-call-defun`): When the point is inside a defun and
554
558
C-c C-y is pressed,
@@ -594,7 +598,7 @@ For defclass: `(make-instance ‘class-name )`.
594
598
595
599
(thanks to [Slime tips](https://slime-tips.tumblr.com/page/2))
596
600
597
-
### Exporting symbols
601
+
####Exporting symbols
598
602
599
603
**C-c x** (*slime-export-symbol-at-point*) from the `slime-package-fu`
600
604
contrib: takes the symbol at point and modifies the `:export` clause of
@@ -628,16 +632,16 @@ or strings:
628
632
(lambda (n) (format "\"%s\"" (upcase n))))
629
633
~~~
630
634
631
-
### Project Management
635
+
####Project Management
632
636
633
637
ASDF is the de-facto build facility. It is shipped in most Common Lisp implementations.
634
638
635
639
*[ASDF](https://common-lisp.net/project/asdf/)
636
640
*[ASDF best practices](https://gitlab.common-lisp.net/asdf/asdf/blob/master/doc/best_practices.md)
637
641
638
-
## Questions/Answers
642
+
###Questions/Answers
639
643
640
-
### utf-8 encoding
644
+
####utf-8 encoding
641
645
642
646
You might want to set this to your init file:
643
647
@@ -658,7 +662,7 @@ This will avoid getting `ascii stream decoding error`s when you have
658
662
non-ascii characters in files you evaluate with SLIME.
659
663
660
664
661
-
### Default cut/copy/paste keybindings
665
+
####Default cut/copy/paste keybindings
662
666
663
667
*I am so used to C-c, C-v and friends to copy and paste text that
664
668
the default Emacs shortcuts don't make any sense to me.*
@@ -671,9 +675,9 @@ Luckily, you have a solution! Install [cua-mode](http://www.emacswiki.org/cgi-bi
671
675
~~~
672
676
673
677
674
-
## Appendix
678
+
###Appendix
675
679
676
-
### All Slime REPL shortcuts
680
+
####All Slime REPL shortcuts
677
681
678
682
Here is the reference of all Slime shortcuts that work in the REPL.
-[Common Lisp REPL exploration guide](https://bnmcgn.github.io/lisp-guide/lisp-exploration.html) - a concise and curated set of highlights to find one's way in the REPL.
0 commit comments