[:ui layout bepo] Fix notmuch, C-, M- mappings
WIP: - Add fixme for evil-org remaps Misc changes: - Remove notmuch-search binding (Unmap the bare "s" keymap from notmuch) - Remap [] evil-org bindings to () - Fix org-capture not finalizing with C-c - Remap evilem-map - Add more triggers to minibuffer rotations - Unmap C-c and C-r from evil-org Meta: - Specify bepo layout in maintainer status - Add basic troubleshooting In the remapping functions: - Add operator maps - Remap C- and M- bindings in normal mode Respect evil-org-movement-bindings: This allow non-qwerty users to keep the correct bindings. The additional let-binding is done to force evaluation of the concatenations and avoid `void-variable concat` when the map! gets evaluated Avoid double rotation on magit maps - Reorder properly magit-mode-map like done on notmuch (evil-collection PR#428)
This commit is contained in:
parent
3f4cc77d2a
commit
065b26e0c5
4 changed files with 232 additions and 77 deletions
|
@ -11,18 +11,21 @@
|
|||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
- [[#bépo][Bépo]]
|
||||
- [[#easymotion][Easymotion]]
|
||||
- [[#leaving-mnemonics-alone-when-possible][Leaving mnemonics alone when possible]]
|
||||
- [[#possible-contributions][Possible contributions]]
|
||||
- [[#org-mode][Org-mode]]
|
||||
- [[#configuration][Configuration]]
|
||||
- [[#bépo-1][Bépo]]
|
||||
- [[#troubleshooting][Troubleshooting]]
|
||||
- [[#how-to-investigate-an-issue-][How to investigate an issue ?]]
|
||||
- [[#how-to-deactivate-the-new-bindings-and-go-back-to-the-old-ones-][How to deactivate the new bindings and go back to the old ones ?]]
|
||||
|
||||
* Description
|
||||
This module provides barebones support for using Doom with non-qwerty layouts.
|
||||
|
||||
** Maintainers
|
||||
+ @gagbo (Author)
|
||||
+ @gagbo (Author, Bépo)
|
||||
|
||||
** Module Flags
|
||||
+ =+bepo= Enables modifications for the BÉPO layout (customized with version 1.1 in mind)
|
||||
|
@ -43,15 +46,24 @@ Support for the bépo layout includes:
|
|||
- Setting Avy keys to the correct home row keys
|
||||
- Changing navigation keys to =ctsr=
|
||||
+ old =t= is mapped to =j=
|
||||
+ old =s= is mapped to =k= (i.e. staging in the magit status buffer is done with =k=)
|
||||
+ old =s= is mapped to =k= (i.e. staging in the magit status buffer is done
|
||||
with =k=)
|
||||
+ See [[*Configuration][Configuration]] to see where old =c= and =r= functions
|
||||
are remapped
|
||||
- Bind =<>= functions to =«»= keys when possible
|
||||
- Bind =[]= functions to =()= keys when possible
|
||||
- Bind =[]= functions to =()= keys when possible (the "unimpaired-like"
|
||||
bindings)
|
||||
- Bind =é= key to =w= functions when possible
|
||||
- Bind =è= key to useful functions when possible
|
||||
- Bind =`~= functions to =$#= keys when possible
|
||||
|
||||
*** Easymotion
|
||||
|
||||
If you use =evil-easymotion=, then all the bindings that were on =gs= have been
|
||||
moved to =gé=.
|
||||
|
||||
In short : =g s j= -> =g é t= (evilem-motion-next-line). And so on.
|
||||
|
||||
*** Leaving mnemonics alone when possible
|
||||
Exchanging =hjkl= to =ctsr= has the effect of destroying a few mnemonics: the
|
||||
change operator becomes =l= for example, or the window split becomes =SPC é k=.
|
||||
|
@ -73,6 +85,16 @@ bindings. This is *not* implemented for the time being.
|
|||
Also, implementing all those changes as a minor we could flip on and off would
|
||||
help with adoption
|
||||
|
||||
*** Org-mode
|
||||
=evil-org= allows to define =evil-org-movement-bindings= to automatically map
|
||||
movement bindings on non-hjkl keys. It maps automatically keys to =C-c= and
|
||||
=C-r= in normal and insert states though, and it's not really user friendly in
|
||||
Emacs to remap those.
|
||||
|
||||
Therefore, in org-mode:
|
||||
- =org-shiftright= is bound to =C-»=
|
||||
- =org-shiftleft= is bound to =C-«=
|
||||
|
||||
* Configuration
|
||||
** Bépo
|
||||
=doom-bepo-cr-rotation-style= controls whether:
|
||||
|
@ -86,6 +108,17 @@ actually put all the =c= functions on the key that does not need a curl.
|
|||
|
||||
* Troubleshooting
|
||||
# Common issues and their solution, or places to look for help.
|
||||
** How to investigate an issue ?
|
||||
If a key is misbehaving, use =describe-key= (=C-h k= or =SPC h k= or =F1 k=) to
|
||||
see the functions bound to the key, and more importantly in which map it is
|
||||
bound.
|
||||
|
||||
You should ignore all =evil-collection-...-backup-map= keymaps, as they are
|
||||
artifacts from =evil-collection-translate-key= and those maps are actually not
|
||||
active.
|
||||
|
||||
Most likely the solution is to call one of the "key rotation" functions on the
|
||||
relevant keymaps.
|
||||
** How to deactivate the new bindings and go back to the old ones ?
|
||||
If you are learning a new layout you might want to go back to tho old one to
|
||||
"get work done". Sadly the only way is to comment out the module, run =doom
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue