spacemacs/layers/+lang/emacs-lisp/README.org

77 lines
3.8 KiB
Org Mode
Raw Normal View History

2015-06-10 16:44:30 +00:00
#+TITLE: Emacs Lisp contribution layer for Spacemacs
#+HTML_HEAD_EXTRA: <link rel="stylesheet" type="text/css" href="../../../css/readtheorg.css" />
2015-06-10 16:44:30 +00:00
[[file:img/emacs-lisp.png]]
* Table of Contents :TOC_4_org:noexport:
- [[Description][Description]]
- [[Install][Install]]
- [[Auto-compile][Auto-compile]]
- [[Key bindings][Key bindings]]
- [[Working with lisp files (barfage, slurpage & more)][Working with lisp files (barfage, slurpage & more)]]
- [[Leader][Leader]]
- [[srefactor][srefactor]]
2015-06-10 16:44:30 +00:00
* Description
This layer gathers all the configuration related to emacs-lisp. This should
always be in your dotfile, it is not recommended to uninstall it.
* Install
To use this contribution add it to your =~/.spacemacs=
#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-configuration-layers '(emacs-lisp))
#+END_SRC
* Auto-compile
This layer adds the [[https://github.com/tarsius/auto-compile][auto-compile]] package to automatically keep the byte-compiled
version of your Emacs lisp files synced with the uncompiled version on every
save. If there are any compiler errors in the file, you will see a counter show
up in the mode line. You can hover over these numbers to get a description or
view the compiler output with the ~SPC m c l~ key binding. To disable the
feature use this line in your =dotspacemacs/user-config= function.
#+BEGIN_SRC emacs-lisp
(remove-hook 'emacs-lisp-mode-hook 'auto-compile-mode)
#+END_SRC
You can also exclude the =auto-compile= package.
2015-06-10 16:44:30 +00:00
* Key bindings
** Working with lisp files (barfage, slurpage & more)
2015-10-09 10:15:35 +00:00
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.
2015-10-09 10:15:35 +00:00
As this state works the same for all files, the documentation is in global
[[https://github.com/syl20bnr/spacemacs/blob/master/doc/DOCUMENTATION.org#lisp-key-bindings][DOCUMENTATION.org]]. In general, use ~SPC k~ to interact with the lisp-state.
** Leader
2015-06-10 16:44:30 +00:00
| Key Binding | Description |
|----------------------------+------------------------------------------------------------|
| ~SPC m g g~ | go to definition of symbol under point |
| ~SPC m h h~ | describe symbol at point |
| ~SPC m c c~ | byte compile the current file |
| ~SPC m c l~ | popup compile-log buffer |
2015-06-10 16:44:30 +00:00
| ~SPC m e $~ or ~SPC m e l~ | go to end of current line and evaluate |
| ~SPC m e b~ | evaluate current buffer |
| ~SPC m e c~ | evaluate current form (start with =defun=, =setq=, etc...) |
| ~SPC m e e~ | evaluate sexp before point |
| ~SPC m e r~ | evaluate current region |
| ~SPC m e f~ | evaluation current function |
| ~SPC m ,~ | toggle =lisp state= |
| ~SPC m t b~ | run tests of current buffer |
| ~SPC m t q~ | run =ert= |
| ~SPC m d m~ | open [[https://github.com/joddie/macrostep][macrostep]] micro-state |
** srefactor
2015-10-09 10:15:35 +00:00
The [[file:../../semantic/README.org][semantic]] layer should be installed for these key bindings to become active.
2015-06-10 16:44:30 +00:00
| Key Binding | Description |
|-------------+-------------------------|
| ~SPC m = b~ | format current buffer |
| ~SPC m = f~ | format current function |
| ~SPC m = o~ | format all on one line |
| ~SPC m = s~ | format current sexp |