2022-03-28 15:03:21 +02:00
#+title : :editor lispy
#+subtitle : Vim for lisp, for people who don't like vim
#+created : October 27, 2018
#+since : 2.0.0
2018-10-27 16:44:12 -05:00
2021-10-16 01:22:41 +02:00
* Description :unfold:
This module adds a keybind scheme for navigating and editing S-expressions in
Lisps; including S-exp awareness for Evil users. This affects the following
languages:
2018-10-27 16:44:12 -05:00
- Common Lisp
- Emacs Lisp
- Scheme
- Racket
- [[http://docs.hylang.org/en/stable/ ][Hy ]]
- [[http://lfe.io/ ][LFE ]]
- Clojure
2021-05-04 16:24:25 -04:00
- [[https://fennel-lang.org ][Fennel ]]
2018-10-27 16:44:12 -05:00
2021-10-16 01:22:41 +02:00
** Maintainers
*This module needs a maintainer.* [[doom-contrib-maintainer: ][Become a maintainer? ]]
2018-11-01 11:53:42 +01:00
2021-10-16 01:22:41 +02:00
** Module flags
/This module has no flags./
** Packages
2022-09-26 02:19:42 +08:00
- [[doom-package:lispy ]]
- [[doom-package:lispyville ]] if [[doom-module::editor evil +everywhere ]]
2021-10-16 01:22:41 +02:00
** Hacks
/No hacks documented for this module./
** TODO Changelog
# This section will be machine generated. Don't edit it by hand.
/This module does not have a changelog yet./
* Installation
[[id:01cffea4-3329-45e2-a892-95a384ab2338 ][Enable this module in your ~doom!~ block. ]]
/This module has no external requirements./
2018-10-27 16:44:12 -05:00
2021-10-16 01:22:41 +02:00
* TODO Usage
#+begin_quote
2023-09-16 20:19:11 +02:00
/This module's usage documentation is incomplete./ [[doom-contrib-module: ][Complete it? ]]
2021-10-16 01:22:41 +02:00
#+end_quote
2022-09-26 02:19:42 +08:00
If [[doom-module::editor evil ]] is enabled, [[doom-package:lispyville ]] would also be activated for every mode
where [[doom-package:lispy ]] is active.
2021-10-16 01:22:41 +02:00
* TODO Configuration
#+begin_quote
2023-09-16 20:19:11 +02:00
/This module's configuration documentation is incomplete./ [[doom-contrib-module: ][Complete it? ]]
2021-10-16 01:22:41 +02:00
#+end_quote
The default key themes that are set are as follows:
#+begin_src emacs-lisp
2020-05-17 10:29:25 -06:00
'((operators normal)
c-w
(prettify insert)
(atom-movement normal visual)
slurp/barf-lispy
additional
additional-insert)
2021-10-16 01:22:41 +02:00
#+end_src
2018-10-27 16:44:12 -05:00
2020-05-17 10:29:25 -06:00
To change the key themes set ~lispyville-key-theme~ . Think of
~lispyville-key-theme~ as the equivalent of ~parinfer-extensions~ . See
lispyville's [[https://github.com/noctuid/lispyville/blob/master/README.org ][README ]] for more info on the specific keybindings of each key theme
(starting [[https://github.com/noctuid/lispyville#operators-key-theme ][here ]]).
2020-02-20 21:43:37 -05:00
2023-07-24 17:22:32 -04:00
** Working with Brackets
By default, =[= and =]= are [[https://github.com/noctuid/lispyville/tree/master#additional-movement-key-theme ][bound ]] to =lispyville-previous-opening= and
=lispyville-next-closing= respectively. If you use a language which makes frequent
use of brackets (e.g. Clojure, Racket, Scheme), you can insert a bracket pair =[]=
by typing ={= . If you prefer to use the bracket keys for input, you can rebind
them like below:
#+begin_src emacs-lisp
;; in $DOOMDIR/config.el
(map! :after (lispy lispyville)
:map lispy-mode-map-lispy
;; unbind individual bracket keys
"[" nil
"]" nil
;; re-bind commands bound to bracket keys by default
"M-[" #'lispyville-previous-opening
"M-]" #'lispyville.next-opening)
#+end_src
2020-02-20 21:43:37 -05:00
* Troubleshooting
2021-10-16 01:22:41 +02:00
[[doom-report: ][Report an issue? ]]
2020-02-20 21:43:37 -05:00
** Mouse wheel and =wrap=/=additional-wrap= key themes in TTY Emacs ([[https://github.com/hlissner/doom-emacs/issues/2573][#2573]])
2021-10-16 01:22:41 +02:00
lispyville binds [[kbd:][M-[]] to ~lispyville-wrap-brackets~ when the =wrap= or
=additional-wrap= key themes are enabled. In terminal Emacs, this is the key
2020-02-20 21:43:37 -05:00
Emacs receives when you scroll with your mouse wheel.
2021-10-16 01:22:41 +02:00
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq: ][Ask one? ]]
* TODO Appendix
#+begin_quote
2023-09-16 20:19:11 +02:00
This module has no appendix yet. [[doom-contrib-module: ][Write one? ]]
2021-10-16 01:22:41 +02:00
#+end_quote