diff options
author | William Carroll <wpcarro@gmail.com> | 2020-04-04T13·30+0100 |
---|---|---|
committer | William Carroll <wpcarro@gmail.com> | 2020-04-04T13·30+0100 |
commit | 46d817665f729b8f5130e768986e9a1950ee443b (patch) | |
tree | fe6ad2982658b971f1127b9db30f2ecfcc57db62 /emacs/keybindings.md | |
parent | d0d331df090b95a1c1e903aba47ae58a1074a82c (diff) |
Move Emacs documents to //emacs
These documents outline some of my Elisp conventions and ideas. As such, I think //emacs should host them.
Diffstat (limited to 'emacs/keybindings.md')
-rw-r--r-- | emacs/keybindings.md | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/emacs/keybindings.md b/emacs/keybindings.md new file mode 100644 index 000000000000..96ba7c96459b --- /dev/null +++ b/emacs/keybindings.md @@ -0,0 +1,47 @@ +# Keybindings + +Since I'm using Emacs to manage most of my workflow, all of the keybindings +should be defined herein and -- in order to scale -- order must be imposed. This +can help avoid KBD collisions and improve my ability to remember each KBD. + +See `kbd.el` for the programmatic encoding of these principles. + +## Troubleshooting + +When in doubt, use Emacs's `read-key` and `read-event` to learn what signal +you're sending Emacs. + +### Super- + +- EXWM X11 windows are not processing `s-`. +- EXWM X11 windows are not processing `<M-ESC>`. + +### Super-Ctrl- + +I'm reserving `C-s-` for opening X11 applications. + +- `terminator`: `t` +- `google-chrome`: `c` + +## Emacs nouns + +Most of my keybindings should be organized according to their function, which in +turn should be related to the following Emacs nouns. + +- `workspace`: As defined by EXWM. +- `frame`: What non-Emacs users would call a "window". Currently my workflow + doesn't use or rely on Emacs frames. +- `window`: A vertical or horizontal split within an Emacs frame. +- `buffer`: Anything storing text in memory. + +## Prefixes and their meanings + +TODO: Have a system for leader-prefixed KBDs, chords, and prefixed chords. + +- `s-`: Switching between named workspaces. Right now, super is too overloaded + and would benefit from having more deliberate keybindings. +- `C-M-`: Window sizing +- `M-{h,j,k,l}`: Window traversing +- `M-{\,-}`: Window splitting +- `M-q`: Window deletion +- `<leader>-q`: Window deletion |