README.org

Common Lisp layer

img/slime.png

Table of Contents

Description

A Spacemacs contribution layer providing Common Lisp support via SLIME.

Install

If you have previously installed slime in any other way, it is recommended that you uninstall it before proceeding. You should clean up any config files tied to slime that are left behind as well. Linux users can just purge the slime package if it was a distribution install.

To use this configuration layer, add it to your ~/.spacemacs. You will need to add common-lisp to the existing dotspacemacs-configuration-layers list in this file.

This layer defaults to using sbcl. If you want to use a different implementation of Common Lisp, you can specify it in your ~/.spacemacs

(defun dotspacemacs/user-config ()
  (setq inferior-lisp-program "/path/to/your/lisp"))

Key Bindings

Working with lisp files (barfage, slurpage & more)

Spacemacs comes with a special lisp-state for working with lisp code that supports slurpage, barfage and more tools you’ll likely want when working with lisp.

As this state works the same for all files, the documentation is in global DOCUMENTATION.org. In general, use SPC k to interact with the lisp-state.

Leader

Help

Key BindingDescription
SPC m h aSLIME apropos
SPC m h dDisassemble symbol at point
SPC m h hDescribe symbol at point
SPC m h iInspect definition
SPC m h HHyperspec lookup symbol at point
SPC m h pBrowse apropos results for a package’s exported symbols
SPC m h tToggle tracing of the function at point
SPC m h TUntrace all functions
SPC m h <Show all known callers
SPC m h >Show all known callees
SPC m h mShow all usages of a macro
SPC m h rShow references to global variable
SPC m h sShow all methods specialized on a class

Evaluation

Key BindingDescription
SPC m e bEvaluate buffer
SPC m e eEvaluate last expression
SPC m e fEvaluate top level s-expression
SPC m e FUndefine the function at point
SPC m e rEvaluate region

REPL

Key BindingDescription
SPC m s iStart an inferior process
SPC m s eEvaluate last expression in REPL
SPC m s qQuit

Compile

Key BindingDescription
SPC m c cCompile file
SPC m c CCompile file and load it
SPC m c lLoad file
SPC m c nRemove compilation notes
SPC m c fCompile function
SPC m c rCompile region

Navigation

Key BindingDescription
SPC m g gGo to definition
SPC m g bGo back
SPC m g nNext note
SPC m g N or ~SPC m g pPrevious note

Macroexpansion

Key BindingDescription
SPC m m aMacroexpand the expression at point completly
SPC m m oMacroexpand the expression at point once