Recommendation
Lispy overrides some keys in insert mode if the cursor is immediately before (
or after )
.
If you are proficient in Vim, maybe you don’t need this module.
Key Bindings
Movement: h j k l
as usual, f
to step into and b
to move back in history
Slurp: >
Barf: <
Clone: c
Forward: ]
Backward: [
Jump to matching pair: d
Split: M-j
Join: +
Typing "
inside of a string inserts \"\"
, so the split command is very useful for string templating.
Insert
Parens: (
Braces: {
Brackets: }
Quotes: "
LispyVille
The default key theme:
:init
(setq lispyville-key-theme
'((operators normal)
c-w
(prettify insert)
(atom-movement t)
slurp/barf-lispy
additional
additional-insert))
Each (key-theme modes)
is a pair of a LispyVille key theme and modes in which to bind them. For example, (escape insert)
binds the “escape” theme in just the insert state. Without ()
, the default is to bind normal and visual states.
As described in https://github.com/abo-abo/lispy/issues/534, for arrow keys to work in xterm, M-O
must be free from bindings in Emacs.
However, package lispyville
binds both M-o
and M-O
keys to its functions with evil-define-key*
. Unbind them with the following config.
Given the order Doom Emacs’ config gets loaded,
private/<user-login-name>/config.el
is loaded automatically, after all other modules. Keeping:private <user-login-name>
in init.el is harmless, but does nothing.private/<user-login-name>/init.el
is loaded before all modules.- If your needs are simple, use
after!
to reconfigure packages.
we could also configure lispyville-key-theme
in config.el
, but remember to put it in at top-level, not within after!
.