summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorKyle Meyer <kyle@kyleam.com>2016-01-09 03:30:42 -0500
committerKyle Meyer <kyle@kyleam.com>2016-01-09 03:30:42 -0500
commitb292c523918370eccaac00c8a613b998489f6cb4 (patch)
tree073bcb8a656a3a13e5571ad425a8561208d83859 /lisp
parent96fb1f48553b073b4b9a3c56343a75657b4ca494 (diff)
downloademacs.d-b292c523918370eccaac00c8a613b998489f6cb4.tar.gz
Define hydra for keyboard macro commands
Mostly to be able to repeat the ring cycling commands.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/init-editing.el46
1 files changed, 46 insertions, 0 deletions
diff --git a/lisp/init-editing.el b/lisp/init-editing.el
index 5dfc668..618431c 100644
--- a/lisp/init-editing.el
+++ b/lisp/init-editing.el
@@ -347,5 +347,51 @@ _y_ Unmark _u_ Unmark
("P" mc/skip-to-previous-like-this)
("y" mc/unmark-previous-like-this)))
+
+;;; Keyboard macros
+
+(define-key km/editing-map "k"
+ (defhydra hydra-kmacro (:hint nil :exit t)
+ "
+ ^^Defining ^^Applying
+_?_ Query _c_ Call
+_b_ Bind to key _o_ Call 2nd in ring
+_e_ Edit _r_ Apply to region lines
+_E_ Step edit
+_N_ Name last
+_l_ Use recent strokes
+_s_ Start defining
+_x_ To register
+
+ ^^Ring ^^Counter
+_D_ Delete ring head _+_ Add counter
+_n_ Cycle next _=_ Set counter
+_p_ Cycle previous _f_ Set format
+_t_ Swap _i_ Insert counter
+_v_ View
+
+"
+ ("+" kmacro-add-counter)
+ ("=" kmacro-set-counter)
+ ("D" kmacro-delete-ring-head)
+ ("f" kmacro-set-format)
+ ("i" kmacro-insert-counter)
+ ("c" kmacro-end-and-call-macro :exit nil)
+ ("o" kmacro-call-ring-2nd-repeat)
+ ("e" kmacro-edit-macro)
+ ("E" kmacro-step-edit-macro)
+ ("n" kmacro-cycle-ring-next :exit nil)
+ ("p" kmacro-cycle-ring-previous :exit nil)
+ ("t" kmacro-swap-ring)
+ ("v" kmacro-view-macro-repeat)
+ ("b" kmacro-bind-to-key)
+ ("l" kmacro-edit-lossage)
+ ("N" kmacro-name-last-macro)
+ ("?" kbd-macro-query)
+ ("r" apply-macro-to-region-lines)
+ ("s" kmacro-start-macro)
+ ("x" kmacro-to-register)
+ ("q" nil "quit" :hint t)))
+
(provide 'init-editing)
;;; init-editing.el ends here