summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--emacs-config.org44
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