[emacs] add "jk" key sequence using key-seq (uses key-chord) for ryo
[~bandali/configs] / init.org
index a345921..0cf8627 100644 (file)
--- a/init.org
+++ b/init.org
@@ -627,10 +627,21 @@ Roll your own modal mode
    ("n" next-line)
    ("p" previous-line)
    ("f" forward-char)
+   ("/" undo)
+   ("i" ryo-modal-mode)
+   ("l" recenter-top-bottom)
+   ("v" scroll-up-command)
+   ("V" scroll-down-command)
+   ("x" delete-forward-char)
    ("SPC" (("b" (("b" ibuffer-list-buffers)
                  ("k" kill-this-buffer)
                  ("o" other-window)
                  ("s" save-buffer)))
+           ("B" (("A" borg-activate)
+                 ("a" borg-assimilate)
+                 ("b" borg-build)
+                 ("c" borg-clone)
+                 ("r" borg-remove)))
            ("h" (("c" describe-char)
                  ("f" describe-function)
                  ("F" describe-face)
@@ -848,13 +859,14 @@ TODO: break this giant source block down into individual org sections.
 
 (use-package undo-tree
   :ryo
-  ("/" undo-tree-undo)
+  ("?" undo-tree-undo)
   ("_" undo-tree-redo)
-  :bind (("C-/" . undo-tree-undo)
+  :bind (("C-?" . undo-tree-undo)
          ("M-_" . undo-tree-redo))
   :config
   (global-undo-tree-mode)
-  (setq undo-tree-mode-lighter ""))
+  (setq undo-tree-mode-lighter ""
+        undo-tree-auto-save-history t))
 #+end_src
 
 * Editing
@@ -1163,6 +1175,21 @@ Emacs package that displays available keybindings in popup
   ("e" mwim-end-of-code-or-line))
 #+end_src
 
+** [[https://github.com/vlevit/key-seq.el][key-seq]] (uses [[https://www.emacswiki.org/emacs/KeyChord][key-chord]])
+
+#+begin_src emacs-lisp
+(use-package key-chord
+  :demand t
+  :config
+  (key-chord-mode 1)
+  (setq key-chord-one-key-delay 0 ; i don't need one-key chords for now
+        key-chord-two-keys-delay 0.075))
+(use-package key-seq
+  :after key-chord
+  :config
+  (key-seq-define-global "jk" 'ryo-modal-mode))
+#+end_src
+
 * Email
 ** [[https://notmuchmail.org][notmuch]]