This is the archive for old doom-module, please use the new one.
This community module by me and Vitaly (their older commits can be seen in the archived repository) adds support for meow, a global minor-mode for simple but powerful modal editing.
See the Meow project README for information on keybinds and usage.
Also, if you have enabled this module, run meow-tutor
in Emacs to get started with meow.
This module has no prerequisites
Make the directories modules/editor
in your doom directory, (usually ~/.config/doom
or ~/.doom.d
), then clone this repo as <doom-directory>/modules/editor/meow
mkdir -p ~/.doom.d/modules/editor && git clone https://github.com/Not-Leader/doom-meow ~/.doom.d/modules/editor/meow
Then add meow
to the :editor
section of the init.el of your doom directory, with the module flag matching your layout and (recommended) with the +leader
and +override
module flags.
:editor
(meow +qwerty +override +leader)
;;(evil +everywhere); come to the dark side, we have cookies
...
When the +leader
module flag is disabled, the bindings for doom-leader-alt-key
and doom-localleader-alt-key
are used for doom’s leader and localleader key respectively.
If you want these bindings to be more easily accessible from meow’s keypad, then they can be bound to something that exclusively uses the Control key, eg: setting doom-localleader-alt-key
to C-l
. Then the l
binding of meow-leader-keymap
(SPC l
by default) can be used to access the localleader bindings by binding it to the function meow-keypad-start
. These bindings should be set in the config.el
file
(setq doom-localleader-alt-key "C-l")
(map! :map meow-leader-keymap
"l" #'meow-keypad-start)
It is also possible to directly bind the key to doom-localleader-alt-key
(setq doom-localleader-alt-key "C-l")
(map! :map meow-leader-keymap
"l" doom-localleader-alt-key)
If none of the layout module flags are enabled, meow will not have any cheatsheet or bindings (excluding the keypad or leader bindings). If you want to manually configure these, then it can be done by modifying the meow-cheatsheet-layout
variable (see one of the preconfigured values to understand how to configure it) and through binding keys to meow-normal-state-map
.
If you want to manually add override bindings as well, bind keys using meow-motion-overwrite-define-key
and add passthrough bindings by binding something to H-<key>
using one of the meow-*-define-key macros
Meow uses a local kill ring by default, but it can be modified to use the local through setting the variable meow-use-clipboard
to t
(setq meow-use-clipboard t)
- This module can not be ran alongside the modules:
:editor evil
,:editor god
, or:editor objed
. Enabling them with:editor meow
will cause keybindings to conflict. - The localleader keybinds are garbled, and many leader keybindings are missing when the
+leader
module flag is enabled.
+colemak
Add default configuration forcolemak
layout.+dvorak
Add default configuration fordvorak
layout.+dvp
Add default configuration fordvp
layout.+qwerty
Add default configuration forqwerty
layout.+leader
Use Doom’sdoom/leader
instead of meow’smeow-keypad-mode
+override
Have meow override movement keybinds in most major modes.