diff options
| author | Blake Romero <blake@blkrom.com> | 2025-07-10 20:25:55 +0100 |
|---|---|---|
| committer | Blake Romero <blake@blkrom.com> | 2025-07-10 20:29:49 +0100 |
| commit | c5ef9259b943f595034264a85d6128e7df190957 (patch) | |
| tree | 138d0d5ce9b908b452689fbdfe668f8b5dfeb316 | |
| parent | 2efce79638f31b2be86f755a6f51d0ee5d285c42 (diff) | |
Enable and configure org speed commands
| -rw-r--r-- | emacs-config.org | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/emacs-config.org b/emacs-config.org index 23f0d9c..11fb76c 100644 --- a/emacs-config.org +++ b/emacs-config.org @@ -391,6 +391,50 @@ Enable notes for various actions. org-log-note-clock-out t) #+end_src +*** Org Speed Commands +#+begin_src elisp :noweb yes + (with-eval-after-load 'org-keys + <<org-speed-command-settings>>) +#+end_src + +Enable org speed commands. +#+begin_src elisp + (setq-default org-use-speed-commands t) +#+end_src + +Add advice to prompt for confirmation before commenting or cutting subtree. +#+begin_src elisp + (advice-add 'org-cut-subtree + :before-while (lambda (&rest _) + "Prompts for confirmation before cutting subtree." + (let ((heading (org-entry-get nil "ITEM"))) + (y-or-n-p (format "Cut \"%s\" subtree?" heading))))) + + (advice-add 'org-toggle-comment + :before-while (lambda (&rest _) + "Prompt for confirmation before commenting a subtree." + (let ((heading (org-entry-get nil "ITEM"))) + (y-or-n-p (format "Toggle comment on \"%s\" subtree?" heading))))) +#+end_src + +Alternative comment key =;= added to be consistent with ~org-toggle-comment~ (=C-c ;=). +#+begin_src elisp :tangle no :noweb-ref org-speed-command-settings + (dolist (key '(("P" . org-set-property) + ("$" . org-archive-subtree-default-with-confirmation) + ("q" . org-set-tags-command) + ("]" . org-shiftright) + ("[" . org-shiftleft) + (";" . org-toggle-comment) + ("z" . org-add-note) + ("y" . org-copy-subtree))) + (cl-pushnew key org-speed-commands)) +#+end_src + +Add ='= key to edit org source blocks, which is consistent with ~org-edit-special~ (=C-c '=). +#+begin_src elisp + (cl-pushnew '("'" . org-edit-src-code) org-babel-key-bindings) +#+end_src + *** Org Babel :PROPERTIES: :header-args:elisp: :tangle no :noweb-ref org-babel-settings |
