making submodule local

This commit is contained in:
Matt Nish-Lapidus 2023-03-05 17:11:33 -05:00
parent 0ccaf49b78
commit 9a07e08035

View file

@ -1,93 +1,5 @@
#+TITLE: Meow mode for Doom Emacs
#+DATE: December 6, 2021
#+SINCE: v2021.12
* Table of Contents :TOC_3:noexport:
- [[#overview][Overview]]
- [[#features][Features]]
- [[#getting-started][Getting started]]
- [[#prerequisites][Prerequisites]]
- [[#installation][Installation]]
- [[#configuration][Configuration]]
- [[#leader-and-localleader][Leader and Localleader]]
- [[#manually-creating-cheatsheet-and-bindings][Manually creating cheatsheet and bindings]]
- [[#system-clipboard][System Clipboard]]
- [[#issues][Issues]]
- [[#description][Description]]
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
* Overview
This community module by me and [[https://github.com/VitalyAnkh][Vitaly]] (their older commits can be seen in the archived repository) adds support for [[https://github.com/meow-edit/meow][meow]], a global minor-mode for simple but powerful modal editing.
* Features
Cloned from [[https://github.com/meow-edit/doom-meow]]. See the original repo for more details.
[[https://github.com/meow-edit/meow][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.
* Getting started
** Prerequisites
This module has no prerequisites
** Installation
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=
#+BEGIN_SRC sh
mkdir -p ~/.doom.d/modules/editor && git clone https://github.com/Not-Leader/doom-meow ~/.doom.d/modules/editor/meow
#+END_SRC sh
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.
#+BEGIN_SRC elisp
:editor
(meow +qwerty +override +leader)
;;(evil +everywhere); come to the dark side, we have cookies
...
#+END_SRC elisp
* Configuration
*** Leader and Localleader
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
#+BEGIN_SRC elisp
(setq doom-localleader-alt-key "C-l")
(map! :map meow-leader-keymap
"l" #'meow-keypad-start)
#+END_SRC elisp
It is also possible to directly bind the key to =doom-localleader-alt-key=
#+BEGIN_SRC elisp
(setq doom-localleader-alt-key "C-l")
(map! :map meow-leader-keymap
"l" doom-localleader-alt-key)
#+END_SRC elisp
*** Manually creating cheatsheet and bindings
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
*** System Clipboard
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=
#+BEGIN_SRC elisp
(setq meow-use-clipboard t)
#+END_SRC elisp
** Issues
+ 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.
* Description
** Module Flags
+ ~+colemak~ Add default configuration for ~colemak~ layout.
+ ~+dvorak~ Add default configuration for ~dvorak~ layout.
+ ~+dvp~ Add default configuration for ~dvp~ layout.
+ ~+qwerty~ Add default configuration for ~qwerty~ layout.
+ ~+leader~ Use Doom's ~doom/leader~ instead of meow's ~meow-keypad-mode~
+ ~+override~ Have meow override movement keybinds in most major modes.
** Plugins
+ [[https://github.com/meow-edit/meow][meow]]