org: revamp key bindings

Org key bindings were a mess with no logic.
This commit changes a lot of them to reorganize them under prefixes.
Here is the complet list of changed key bindings:

New prefixes:
- C clocks
- d dates
- miD download
- ms trees/subtrees
- mT toggles

New key bindings:
- "Ti" org-toggle-inline-images

Changes key bindings:
- "Cc" 'org-clock-cancel
- "Ci" 'org-clock-in
- "Co" 'org-clock-out
- "Cp" 'org-pomodoro
- "dd" 'org-deadline
- "ds" 'org-schedule
- "dt" 'org-time-stamp
- "dT" 'org-time-stamp-inactive

- "em" 'org-mime-org-buffer-htmlize

- "id" 'org-insert-drawer
- "iDy" 'org-download-yank
- "iDs" 'org-download-screenshot
- "ie" 'org-set-effort
- "ih" 'org-insert-heading
- "iH" 'org-insert-heading-after-current
- "iK" 'spacemacs/insert-keybinding-org
- "il" 'org-insert-link
- "ip" 'org-set-property
- "is" 'org-insert-subheading
- "it" 'org-set-tags

- "sa" 'org-archive-subtree
- "sb" 'org-tree-to-indirect-buffer
- "sh" 'org-promote-subtree
- "sj" 'org-move-subtree-down
- "sk" 'org-move-subtree-up
- "sl" 'org-demote-subtree
- "sn" 'org-narrow-to-subtree
- "sN" 'widen
- "sr" 'org-refile
- "ss" 'org-sparse-tree
- "sS" 'org-sort

- "Tt" 'org-show-todo-tree
- "Ti" 'org-toggle-inline-images
- "TV" 'space-doc-mode
- "Tx" 'org-toggle-latex-fragment

- "xo" 'org-open-at-point

- "Cc" 'org-agenda-clock-cancel
- "Ci" 'org-agenda-clock-in
- "Co" 'org-agenda-clock-out
- "dd" 'org-agenda-deadline
- "ds" 'org-agenda-schedule
- "ie" 'org-agenda-set-effort
- "ip" 'org-agenda-set-property
- "it" 'org-agenda-set-tags
- "sr" 'org-agenda-refile
This commit is contained in:
syl20bnr 2017-05-04 00:23:00 -04:00
parent 52275b4778
commit 4898644a95
2 changed files with 168 additions and 173 deletions

View File

@ -19,13 +19,13 @@
- [[#mode-line-support][Mode line support]]
- [[#key-bindings][Key bindings]]
- [[#org][Org]]
- [[#toggles][Toggles]]
- [[#org-with-evil-org-mode][Org with evil-org-mode]]
- [[#tables][Tables]]
- [[#tree][Tree]]
- [[#trees][Trees]]
- [[#element-insertion][Element insertion]]
- [[#links][Links]]
- [[#emphasis][Emphasis]]
- [[#tagging][Tagging]]
- [[#navigating-in-calendar][Navigating in calendar]]
- [[#capture-buffers-and-src-blocks][Capture buffers and src blocks]]
- [[#org-agenda][Org agenda]]
@ -33,8 +33,6 @@
- [[#org-agenda-transient-state][Org agenda transient state]]
- [[#pomodoro][Pomodoro]]
- [[#presentation][Presentation]]
- [[#org-mime][Org-MIME]]
- [[#org-download][Org-download]]
- [[#org-projectile][Org-projectile]]
- [[#org-journal][Org-journal]]
@ -266,49 +264,46 @@ To permanently enable mode line display of org clock, add this snippet to your
| ~SPC a o t~ | org todo list |
| ~SPC C c~ | org-capture |
** Toggles
| Key Binding | Description |
|-------------+-----------------------------------------------|
| ~SPC m T i~ | org-toggle-inline-images |
| ~SPC m T t~ | org-show-todo-tree |
| ~SPC m T V~ | toggle =space-doc-mode= a read-only view mode |
| ~SPC m T x~ | org-preview-latex-fragment |
** Org with evil-org-mode
| Key Binding | Description |
|----------------------------------------------+-----------------------------------------------|
| ~SPC m <dotspacemacs-major-mode-leader-key>~ | org-ctrl-c-ctrl-c |
| ~SPC m *~ | org-ctrl-c-star |
| ~SPC m RET~ | org-ctrl-c-ret |
| ~SPC m -~ | org-ctrl-c-minus |
| ~SPC m '~ | org-edit-special |
| ~SPC m ^~ | org-sort |
| ~SPC m /~ | org-sparse-tree |
| ~SPC m .~ | org-time-stamp |
| ~SPC m !~ | org-time-stamp-inactive |
| ~SPC m a~ | org-agenda |
| ~SPC m b~ | org-tree-to-indirect-buffer |
| ~SPC m A~ | org-archive-subtree |
| ~SPC m c~ | org-capture |
| ~SPC m C~ | evil-org-recompute-clocks |
| ~SPC m d~ | org-deadline |
| ~SPC m D~ | org-insert-drawer |
| ~SPC m e e~ | org-export-dispatch |
| ~SPC m f~ | org-set-effort |
| ~SPC m I~ | org-clock-in |
| ~SPC m l~ | org-open-at-point |
| ~SPC m n~ | org-narrow-to-subtree |
| ~SPC m N~ | widen |
| ~SPC m O~ | org-clock-out |
| ~SPC m P~ | org-set-property |
| ~SPC m q~ | org-clock-cancel |
| ~SPC m R~ | org-refile |
| ~SPC m s~ | org-schedule |
| ~SPC m T~ | org-show-todo-tree |
| ~SPC m X~ | org-preview-latex-fragment |
| ~SPC m L~ | org-shiftright |
| ~SPC m H~ | org-shiftleft |
| ~SPC m K~ | org-shiftup |
| ~SPC m J~ | org-shiftdown |
| ~SPC m C-S-l~ | org-shiftcontrolright |
| ~SPC m C-S-h~ | org-shiftcontrolleft |
| ~SPC m C-S-j~ | org-shiftcontroldown |
| ~SPC m C-S-k~ | org-shiftcontrolup |
| ~SPC m V~ | toggle =space-doc-mode= a read-only view mode |
| ~SPC s j~ | spacemacs/jump-in-buffer (jump to a heading) |
| Key Binding | Description |
|----------------------------------------------+----------------------------------------------|
| ~SPC m <dotspacemacs-major-mode-leader-key>~ | org-ctrl-c-ctrl-c |
| ~SPC m *~ | org-ctrl-c-star |
| ~SPC m RET~ | org-ctrl-c-ret |
| ~SPC m -~ | org-ctrl-c-minus |
| ~SPC m '~ | org-edit-special |
| ~SPC m a~ | org-agenda |
| ~SPC m c~ | org-capture |
| ~SPC m C c~ | org-clock-cancel |
| ~SPC m C g~ | evil-org-recompute-clocks |
| ~SPC m C i~ | org-clock-in |
| ~SPC m C o~ | org-clock-out |
| ~SPC m d d~ | org-deadline |
| ~SPC m d s~ | org-schedule |
| ~SPC m d t~ | org-time-stamp |
| ~SPC m d T~ | org-time-stamp-inactive |
| ~SPC m e e~ | org-export-dispatch |
| ~SPC m e m~ | send current buffer as HTML email message |
| ~SPC m l~ | org-open-at-point |
| ~SPC m L~ | org-shiftright |
| ~SPC m H~ | org-shiftleft |
| ~SPC m K~ | org-shiftup |
| ~SPC m J~ | org-shiftdown |
| ~SPC m C-S-l~ | org-shiftcontrolright |
| ~SPC m C-S-h~ | org-shiftcontrolleft |
| ~SPC m C-S-j~ | org-shiftcontroldown |
| ~SPC m C-S-k~ | org-shiftcontrolup |
| ~SPC s j~ | spacemacs/jump-in-buffer (jump to a heading) |
*** Tables
@ -342,62 +337,70 @@ To permanently enable mode line display of org clock, add this snippet to your
| ~SPC m t t o~ | Toggle the display of Row/Column numbers in tables |
| ~SPC m t w~ | Wrap several fields in a column like a paragraph |
*** Tree
| Key Binding | Description |
|-------------+-----------------------|
| ~SPC m S l~ | org-demote-subtree |
| ~SPC m S h~ | org-promote-subtree |
| ~SPC m S k~ | org-move-subtree-up |
| ~SPC m S j~ | org-move-subtree-down |
| Key Binding | Description |
|-------------+---------------------------------|
| ~TAB~ | org-cycle |
| ~$~ | org-end-of-line |
| ~^~ | org-beginning-of-line |
| ~<~ | org-metaleft |
| ~>~ | org-metaright |
| ~gh~ | outline-up-heading |
| ~gj~ | org-forward-heading-same-level |
| ~gk~ | org-backward-heading-same-level |
| ~gl~ | outline-next-visible-heading |
| ~t~ | org-todo |
| ~T~ | org-insert-todo-heading nil |
| ~H~ | org-beginning-of-line |
| ~L~ | org-end-of-line |
| ~o~ | always-insert-item |
| ~O~ | org-open-above |
*** Trees
| Key Binding | Description |
|-------------+--------------------------------------------|
| ~M-l~ | org-metaright |
| ~TAB~ | org-cycle |
| ~$~ | org-end-of-line |
| ~^~ | org-beginning-of-line |
| ~<~ | org-metaleft |
| ~>~ | org-metaright |
| ~gh~ | outline-up-heading |
| ~gj~ | org-forward-heading-same-level |
| ~gk~ | org-backward-heading-same-level |
| ~gl~ | outline-next-visible-heading |
| ~H~ | org-beginning-of-line |
| ~L~ | org-end-of-line |
| ~o~ | always-insert-item |
| ~O~ | org-open-above |
| ~t~ | org-todo |
| ~T~ | org-insert-todo-heading nil |
| ~M-h~ | org-metaleft |
| ~M-k~ | org-metaup |
| ~M-j~ | org-metadown |
| ~M-L~ | org-shiftmetaright |
| ~M-H~ | org-shiftmetaleft |
| ~M-K~ | org-shiftmetaup |
| ~M-j~ | org-metadown |
| ~M-J~ | org-shiftmetadown |
| ~M-k~ | org-metaup |
| ~M-K~ | org-shiftmetaup |
| ~M-l~ | org-metaright |
| ~M-L~ | org-shiftmetaright |
| ~M-o~ | org-insert-heading+org-metaright |
| ~M-t~ | org-insert-todo-heading nil+ org-metaright |
| ~SPC m s a~ | org-archive-subtree |
| ~SPC m s b~ | org-tree-to-indirect-buffer |
| ~SPC m s l~ | org-demote-subtree |
| ~SPC m s h~ | org-promote-subtree |
| ~SPC m s k~ | org-move-subtree-up |
| ~SPC m s j~ | org-move-subtree-down |
| ~SPC m s n~ | org-narrow-to-subtree |
| ~SPC m s N~ | widen narrowed subtree |
| ~SPC m s r~ | org-refile |
| ~SPC m s s~ | show sparse tree |
| ~SPC m s S~ | sort trees |
*** Element insertion
| Key Binding | Description |
|-------------+----------------------------------|
| ~SPC m h i~ | org-insert-heading-after-current |
| ~SPC m h I~ | org-insert-heading |
| ~SPC m h s~ | org-insert-subheading |
| ~SPC m i f~ | org-insert-footnote |
| ~SPC m i l~ | org-insert-link |
| ~SPC m i a~ | org-attach |
| Key Binding | Description |
|---------------+----------------------------------|
| ~SPC m i a~ | org-attach |
| ~SPC m i d~ | org-insert-drawer |
| ~SPC m i D s~ | Take screenshot |
| ~SPC m i D y~ | Yank image url |
| ~SPC m i e~ | org-set-effort |
| ~SPC m i f~ | org-insert-footnote |
| ~SPC m i H~ | org-insert-heading-after-current |
| ~SPC m i h~ | org-insert-heading |
| ~SPC m i K~ | spacemacs/insert-keybinding-org |
| ~SPC m i l~ | org-insert-link |
| ~SPC m i p~ | org-set-property |
| ~SPC m i s~ | org-insert-subheading |
| ~SPC m i t~ | org-set-tags |
*** Links
| Key Binding | Description |
|-------------+-------------------|
| ~RET~ | org-open-at-point |
| ~SPC m x o~ | org-open-at-point |
*** Emphasis
@ -411,12 +414,6 @@ To permanently enable mode line display of org clock, add this snippet to your
| ~SPC m x u~ | make region underline |
| ~SPC m x v~ | make region verbose |
*** Tagging
| Key Binding | Description |
|-------------+--------------|
| ~SPC m :~ | org-set-tags |
*** Navigating in calendar
| Key Binding | Description |
@ -441,7 +438,7 @@ conventions.
| ~SPC m c~ | confirm |
| ~SPC m a~ | abort |
| ~SPC m k~ | abort |
| ~SPC m R~ | org-capture-refile in org-capture-mode |
| ~SPC m r~ | org-capture-refile in org-capture-mode |
** Org agenda
@ -451,17 +448,17 @@ The evilified org agenda supports the following bindings:
| Key Binding | Description |
|----------------------+-----------------------------------|
| ~M-SPC~ or ~s-M-SPC~ | org-agenda transient state |
| ~SPC m :~ | org-agenda-set-tags |
| ~SPC m a~ | org-agenda |
| ~SPC m d~ | org-agenda-deadline |
| ~SPC m f~ | org-agenda-set-effort |
| ~SPC m I~ | org-agenda-clock-in |
| ~SPC m O~ | org-agenda-clock-out |
| ~SPC m p~ | org-pomodoro (if package is used) |
| ~SPC m P~ | org-agenda-set-property |
| ~SPC m R~ | org-agenda-refile |
| ~SPC m q~ | org-agenda-clock-cancel |
| ~SPC m s~ | org-agenda-schedule |
| ~SPC m C c~ | org-agenda-clock-cancel |
| ~SPC m C i~ | org-agenda-clock-in |
| ~SPC m C o~ | org-agenda-clock-out |
| ~SPC m C p~ | org-pomodoro (if package is used) |
| ~SPC m d d~ | org-agenda-deadline |
| ~SPC m d s~ | org-agenda-schedule |
| ~SPC m i e~ | org-agenda-set-effort |
| ~SPC m i p~ | org-agenda-set-property |
| ~SPC m i t~ | org-agenda-set-tags |
| ~SPC m s r~ | org-agenda-refile |
| ~M-j~ | next item |
| ~M-k~ | previous item |
| ~M-h~ | earlier view |
@ -549,7 +546,7 @@ are listed bellow.
| Key Binding | Description |
|-------------+-------------------|
| ~SPC m p~ | starts a pomodoro |
| ~SPC m C p~ | starts a pomodoro |
** Presentation
org-present must be activated explicitly by typing: ~SPC SPC org-present~
@ -560,20 +557,6 @@ org-present must be activated explicitly by typing: ~SPC SPC org-present~
| ~l~ | next slide |
| ~q~ | quit |
** Org-MIME
| Key Binding | Description |
|-------------+---------------------------------------------------|
| ~SPC m M~ | in =message-mode= buffers convert into html email |
| ~SPC m m~ | send current buffer as HTML email message |
** Org-download
| Key Binding | Description |
|-------------+-----------------|
| ~SPC m i s~ | Take screenshot |
| ~SPC m i y~ | Yank image url |
** Org-projectile
| Key Binding | Description |

View File

@ -57,7 +57,7 @@
(evil-define-key 'normal evil-org-mode-map
"O" 'evil-open-above)
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"C" 'evil-org-recompute-clocks)
"Cg" 'evil-org-recompute-clocks)
(spacemacs|diminish evil-org-mode "" " e"))))
(defun org/post-init-evil-surround ()
@ -130,7 +130,7 @@
"a" 'org-capture-kill
"c" 'org-capture-finalize
"k" 'org-capture-kill
"R" 'org-capture-refile))
"r" 'org-capture-refile))
(with-eval-after-load 'org-src
(spacemacs/set-leader-keys-for-minor-mode 'org-src-mode
@ -159,41 +159,40 @@ Will work on both org-mode and any mode that accepts plain html."
(insert (format tag ""))
(forward-char -8))))
(dolist (prefix '(("me" . "export")
("mx" . "text")
(dolist (prefix '(
("mC" . "clocks")
("md" . "dates")
("me" . "export")
("mh" . "headings")
("mi" . "insert")
("mS" . "subtrees")
("miD" . "download")
("ms" . "trees/subtrees")
("mT" . "toggles")
("mt" . "tables")
("mtd" . "delete")
("mti" . "insert")
("mtt" . "toggle")))
("mtt" . "toggle")
("mx" . "text")
))
(spacemacs/declare-prefix-for-mode 'org-mode (car prefix) (cdr prefix)))
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"'" 'org-edit-special
"c" 'org-capture
"d" 'org-deadline
"D" 'org-insert-drawer
"Cc" 'org-clock-cancel
"Ci" 'org-clock-in
"Co" 'org-clock-out
"dd" 'org-deadline
"ds" 'org-schedule
"dt" 'org-time-stamp
"dT" 'org-time-stamp-inactive
"ee" 'org-export-dispatch
"f" 'org-set-effort
"P" 'org-set-property
":" 'org-set-tags
"a" 'org-agenda
"b" 'org-tree-to-indirect-buffer
"A" 'org-archive-subtree
"l" 'org-open-at-point
"T" 'org-show-todo-tree
"." 'org-time-stamp
"!" 'org-time-stamp-inactive
"X" 'org-preview-latex-fragment
;; headings
"hi" 'org-insert-heading-after-current
"hI" 'org-insert-heading
"hs" 'org-insert-subheading
"Tt" 'org-show-todo-tree
"Ti" 'org-toggle-inline-images
"TV" 'space-doc-mode
"Tx" 'org-toggle-latex-fragment
;; More cycling options (timestamps, headlines, items, properties)
"L" 'org-shiftright
@ -208,10 +207,17 @@ Will work on both org-mode and any mode that accepts plain html."
"C-S-k" 'org-shiftcontrolup
;; Subtree editing
"Sl" 'org-demote-subtree
"Sh" 'org-promote-subtree
"Sj" 'org-move-subtree-down
"Sk" 'org-move-subtree-up
"sa" 'org-archive-subtree
"sb" 'org-tree-to-indirect-buffer
"sh" 'org-promote-subtree
"sj" 'org-move-subtree-down
"sk" 'org-move-subtree-up
"sl" 'org-demote-subtree
"sn" 'org-narrow-to-subtree
"sN" 'widen
"sr" 'org-refile
"ss" 'org-sparse-tree
"sS" 'org-sort
;; tables
"ta" 'org-table-align
@ -246,29 +252,27 @@ Will work on both org-mode and any mode that accepts plain html."
"*" 'org-ctrl-c-star
"RET" 'org-ctrl-c-ret
"-" 'org-ctrl-c-minus
"^" 'org-sort
"/" 'org-sparse-tree
"I" 'org-clock-in
;; insertion
"ia" 'org-attach
"il" 'org-insert-link
"id" 'org-insert-drawer
"ie" 'org-set-effort
"if" 'org-footnote-new
"ik" 'spacemacs/insert-keybinding-org
"n" 'org-narrow-to-subtree
"N" 'widen
"O" 'org-clock-out
"q" 'org-clock-cancel
"R" 'org-refile
"s" 'org-schedule
"ih" 'org-insert-heading
"iH" 'org-insert-heading-after-current
"iK" 'spacemacs/insert-keybinding-org
"il" 'org-insert-link
"ip" 'org-set-property
"is" 'org-insert-subheading
"it" 'org-set-tags
;; region manipulation
"xb" (spacemacs|org-emphasize spacemacs/org-bold ?*)
"xc" (spacemacs|org-emphasize spacemacs/org-code ?~)
"xi" (spacemacs|org-emphasize spacemacs/org-italic ?/)
"xo" 'org-open-at-point
"xr" (spacemacs|org-emphasize spacemacs/org-clear ? )
"xs" (spacemacs|org-emphasize spacemacs/org-strike-through ?+)
"xu" (spacemacs|org-emphasize spacemacs/org-underline ?_)
"xv" (spacemacs|org-emphasize spacemacs/org-verbose ?=)
"V" 'space-doc-mode)
"xv" (spacemacs|org-emphasize spacemacs/org-verbose ?=))
;; Add global evil-leader mappings. Used to access org-agenda
;; functionalities and a few others commands from any other mode.
@ -340,17 +344,23 @@ Will work on both org-mode and any mode that accepts plain html."
:init
(progn
(setq org-agenda-restore-windows-after-quit t)
(dolist (prefix '(("mC" . "clocks")
("md" . "dates")
("mi" . "insert")
("ms" . "trees/subtrees")))
(spacemacs/declare-prefix-for-mode 'org-agenda-mode
(car prefix) (cdr prefix)))
(spacemacs/set-leader-keys-for-major-mode 'org-agenda-mode
":" 'org-agenda-set-tags
"a" 'org-agenda
"d" 'org-agenda-deadline
"f" 'org-agenda-set-effort
"I" 'org-agenda-clock-in
"O" 'org-agenda-clock-out
"P" 'org-agenda-set-property
"q" 'org-agenda-clock-cancel
"R" 'org-agenda-refile
"s" 'org-agenda-schedule)
"Cc" 'org-agenda-clock-cancel
"Ci" 'org-agenda-clock-in
"Co" 'org-agenda-clock-out
"dd" 'org-agenda-deadline
"ds" 'org-agenda-schedule
"ie" 'org-agenda-set-effort
"ip" 'org-agenda-set-property
"it" 'org-agenda-set-tags
"sr" 'org-agenda-refile)
(spacemacs|define-transient-state org-agenda
:title "Org-agenda transient state"
:on-enter (setq which-key-inhibit t)
@ -464,9 +474,10 @@ Headline^^ Visit entry^^ Filter^^ Da
:init
(progn
(add-hook 'org-mode-hook 'org-download-enable)
(spacemacs/declare-prefix-for-mode 'org-mode "miD" "download")
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"iy" 'org-download-yank
"is" 'org-download-screenshot))))
"iDy" 'org-download-yank
"iDs" 'org-download-screenshot))))
(defun org/init-org-mime ()
(use-package org-mime
@ -474,10 +485,11 @@ Headline^^ Visit entry^^ Filter^^ Da
:commands (org-mime-htmlize org-mime-org-buffer-htmlize)
:init
(progn
;; move this key bindings to an `init-message' function
(spacemacs/set-leader-keys-for-major-mode 'message-mode
"M" 'org-mime-htmlize)
"em" 'org-mime-htmlize)
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"m" 'org-mime-org-buffer-htmlize))))
"em" 'org-mime-org-buffer-htmlize))))
(defun org/init-org-pomodoro ()
(use-package org-pomodoro
@ -487,9 +499,9 @@ Headline^^ Visit entry^^ Filter^^ Da
(when (spacemacs/system-is-mac)
(setq org-pomodoro-audio-player "/usr/bin/afplay"))
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"p" 'org-pomodoro)
"Cp" 'org-pomodoro)
(spacemacs/set-leader-keys-for-major-mode 'org-agenda-mode
"p" 'org-pomodoro))))
"Cp" 'org-pomodoro))))
(defun org/init-org-present ()
(use-package org-present