This repository has been archived on 2024-10-22. You can view files and clone it, but cannot push or open issues or pull requests.
spacemacs/layers/+emacs/org/packages.el

968 lines
36 KiB
EmacsLisp
Raw Normal View History

2015-04-11 04:13:02 +00:00
;;; packages.el --- Org Layer packages File for Spacemacs
;;
2020-09-16 21:34:40 +00:00
;; Copyright (c) 2012-2020 Sylvain Benner & Contributors
2015-04-11 04:13:02 +00:00
;;
;; Author: Sylvain Benner <sylvain.benner@gmail.com>
;; URL: https://github.com/syl20bnr/spacemacs
;;
;; This file is not part of GNU Emacs.
;;
;;; License: GPLv3
2021-02-07 08:13:26 +00:00
(defconst org-packages
'(
company
company-emoji
emoji-cheat-sheet-plus
evil-org
evil-surround
gnuplot
(helm-org-rifle :toggle (configuration-layer/layer-used-p 'helm))
htmlize
;; ob, org, org-agenda and org-contacts are installed by `org-plus-contrib'
(ob :location built-in)
(org :location built-in)
(org-agenda :location built-in)
(org-contacts :location built-in
:toggle org-enable-org-contacts-support)
(org-vcard :toggle org-enable-org-contacts-support)
(org-brain :toggle (version<= "25" emacs-version))
(org-expiry :location built-in)
(org-journal :toggle org-enable-org-journal-support)
org-download
(org-jira :toggle org-enable-jira-support)
org-mime
org-pomodoro
org-present
org-cliplink
org-rich-yank
(org-projectile :requires projectile)
(ox-epub :toggle org-enable-epub-support)
(ox-twbs :toggle org-enable-bootstrap-support)
;; use a for of ox-gfm to fix index generation
(ox-gfm :location (recipe :fetcher github :repo "syl20bnr/ox-gfm")
:toggle org-enable-github-support)
(org-re-reveal :toggle org-enable-reveal-js-support)
persp-mode
(ox-hugo :toggle org-enable-hugo-support)
(ox-jira :toggle org-enable-jira-support)
(org-trello :toggle org-enable-trello-support)
(org-sticky-header :toggle org-enable-sticky-header)
(verb :toggle org-enable-verb-support)
(org-roam :toggle org-enable-roam-support)
(valign :toggle org-enable-valign)))
(defun org/post-init-company ()
Refactor and simplify company backends declaration Enabling a company backend for a specific mode was a tedious tasks with code scattered at different locations, one for local variable definitions, one for company hook function definitions and another where the backends were pushed to the local variables (which was problematic, since we ended up pushing the same backends over and over again with `SPC f e R`, pushes have been replaced by add-to-list calls in the new macro). All these steps are now put together at one place with the new macro spacemacs|add-company-backends, check its docstring for more info on its arguments. This macro also allows to define arbitrary buffer local variables to tune company for specific modes (similar to layer variables via a keyword :variables) The code related to company backends management has been moved to the auto-completion layer in the funcs.el file. A nice side effect of this move is that it enforces correct encapsulation of company backends related code. We can now easily detect if there is some configuration leakage when the auto-completion layer is not used. But we loose macro expansion at file loading time (not sue it is a big concern though). The function spacemacs|enable-auto-complete was never used so it has been deleted which led to the deletion of the now empty file core-auto-completion.el. The example in LAYERS.org regarding auto-completion is now out of date and has been deleted. An example to setup auto-completion is provided in the README.org file of the auto-completion layer.
2017-01-02 05:39:04 +00:00
(spacemacs|add-company-backends :backends company-capf :modes org-mode))
(defun org/post-init-company-emoji ()
Refactor and simplify company backends declaration Enabling a company backend for a specific mode was a tedious tasks with code scattered at different locations, one for local variable definitions, one for company hook function definitions and another where the backends were pushed to the local variables (which was problematic, since we ended up pushing the same backends over and over again with `SPC f e R`, pushes have been replaced by add-to-list calls in the new macro). All these steps are now put together at one place with the new macro spacemacs|add-company-backends, check its docstring for more info on its arguments. This macro also allows to define arbitrary buffer local variables to tune company for specific modes (similar to layer variables via a keyword :variables) The code related to company backends management has been moved to the auto-completion layer in the funcs.el file. A nice side effect of this move is that it enforces correct encapsulation of company backends related code. We can now easily detect if there is some configuration leakage when the auto-completion layer is not used. But we loose macro expansion at file loading time (not sue it is a big concern though). The function spacemacs|enable-auto-complete was never used so it has been deleted which led to the deletion of the now empty file core-auto-completion.el. The example in LAYERS.org regarding auto-completion is now out of date and has been deleted. An example to setup auto-completion is provided in the README.org file of the auto-completion layer.
2017-01-02 05:39:04 +00:00
(spacemacs|add-company-backends :backends company-emoji :modes org-mode))
(defun org/post-init-emoji-cheat-sheet-plus ()
(add-hook 'org-mode-hook 'spacemacs/delay-emoji-cheat-sheet-hook))
(defun org/init-evil-org ()
2015-04-11 04:13:02 +00:00
(use-package evil-org
:defer t
2017-06-06 13:32:13 +00:00
:init
2015-04-11 04:13:02 +00:00
(progn
2017-06-06 13:32:13 +00:00
(add-hook 'org-mode-hook 'spacemacs//evil-org-mode)
(setq evil-org-use-additional-insert t
evil-org-key-theme `(textobjects
navigation
additional
,@(when org-want-todo-bindings '(todo)))))
2017-06-06 13:32:13 +00:00
:config
(spacemacs|hide-lighter evil-org-mode)))
2015-04-11 04:13:02 +00:00
2015-11-05 16:34:06 +00:00
(defun org/post-init-evil-surround ()
(add-hook 'org-mode-hook 'spacemacs/org-setup-evil-surround))
2015-11-05 16:34:06 +00:00
(defun org/init-gnuplot ()
(use-package gnuplot
:defer t
:init (spacemacs/set-leader-keys-for-major-mode 'org-mode
"tp" 'org-plot/gnuplot)))
(defun org/init-helm-org-rifle ()
(use-package helm-org-rifle
:defer t
:init (spacemacs/set-leader-keys "ao/" 'helm-org-rifle)))
2016-06-02 02:07:24 +00:00
(defun org/init-htmlize ()
(use-package htmlize
:defer t))
2016-06-02 02:07:24 +00:00
(defun org/init-ob ()
(use-package ob
:defer t
:init
(progn
(defun spacemacs//org-babel-do-load-languages ()
"Load all the languages declared in `org-babel-load-languages'."
(org-babel-do-load-languages 'org-babel-load-languages
org-babel-load-languages))
(add-hook 'org-mode-hook 'spacemacs//org-babel-do-load-languages)
;; Fix redisplay of inline images after a code block evaluation.
(add-hook 'org-babel-after-execute-hook 'spacemacs/ob-fix-inline-images))))
(defun org/init-org ()
2015-04-11 04:13:02 +00:00
(use-package org
2018-03-31 04:56:17 +00:00
:defer (spacemacs/defer)
2016-06-04 21:47:22 +00:00
:commands (orgtbl-mode)
2015-04-11 04:13:02 +00:00
:init
(progn
(spacemacs|require-when-dumping 'org)
(setq org-clock-persist-file (concat spacemacs-cache-directory
"org-clock-save.el")
org-id-locations-file (concat spacemacs-cache-directory
".org-id-locations")
org-publish-timestamp-directory (concat spacemacs-cache-directory
".org-timestamps/")
2017-10-18 03:46:28 +00:00
org-directory "~/org" ;; needs to be defined for `org-default-notes-file'
org-default-notes-file (expand-file-name "notes.org" org-directory)
org-log-done 'time
2015-06-15 21:23:42 +00:00
org-startup-with-inline-images t
org-latex-prefer-user-labels t
org-image-actual-width nil
org-src-fontify-natively t
2017-10-15 13:52:11 +00:00
org-src-tab-acts-natively t
;; this is consistent with the value of
;; `helm-org-headings-max-depth'.
org-imenu-depth 8)
2015-04-11 04:38:31 +00:00
(with-eval-after-load 'org-agenda
(add-to-list 'org-modules 'org-habit))
(with-eval-after-load 'org-indent
(spacemacs|hide-lighter org-indent-mode))
2019-08-01 08:45:42 +00:00
(defmacro spacemacs|org-emphasize (fname char)
"Make function for setting the emphasis in org mode"
`(defun ,fname () (interactive)
(org-emphasize ,char)))
;; Follow the confirm and abort conventions
(with-eval-after-load 'org-capture
(defun spacemacs//org-capture-start ()
"Make sure that the keybindings are available for org capture."
(spacemacs/set-leader-keys-for-minor-mode 'org-capture-mode
dotspacemacs-major-mode-leader-key 'org-capture-finalize
"a" 'org-capture-kill
"c" 'org-capture-finalize
"k" 'org-capture-kill
"r" 'org-capture-refile)
;; Evil bindins seem not to be applied until at least one
;; Evil state is executed
(evil-normal-state))
;; Must be done everytime we run org-capture otherwise it will
;; be ignored until insert mode is entered.
(add-hook 'org-capture-mode-hook 'spacemacs//org-capture-start))
(with-eval-after-load 'org-src
(spacemacs/set-leader-keys-for-minor-mode 'org-src-mode
dotspacemacs-major-mode-leader-key 'org-edit-src-exit
"c" 'org-edit-src-exit
"a" 'org-edit-src-abort
"k" 'org-edit-src-abort))
(autoload #'org-clock-jump-to-current-clock "org-clock")
2017-06-23 15:58:45 +00:00
(add-hook 'org-mode-hook 'dotspacemacs//prettify-spacemacs-docs)
core: refactor layer system TL;DR Should get 20~25% speed improvement on startup, should get a big improvement when using ivy or helm SPC h SPC. Users with layers.el files in their layers must use `configuration-layer/declare-used-layer` instead of `configuration-layer/declare-layer` The implementation of the layer system made heavy use of `object-assoc` and `object-assoc-list` functions which are not efficient. This PR mainly replaces those object lists with hash maps in order to index the objects by their name and achieve an O(1) access time. The old object lists `configuration-layer--layers` and `configuration-layer--packages` have been each by two variables each: - `configuration-layer--indexed-layers` which is a hash-map of all the layer objects and `configuration-layer--used-layers` which is a list of all _used_ layers symbols, - symmetrically `configuration-layer--indexed-packages` which is a hash-map of all the package objects and `configuration-layer--used-packages` which is a list of all _used_ packages symbols. The hash map `configuration-layer--layer-paths` is gone, now we create directly layer objects when discovering the layers and set the :dir property. Note that previously the layer paths were the parent directory of the layer, now :dir is the layer path. The function `configuration-layer//make-layer` is now similar to its counterpart `configuration-layer//make-package` in the sense that it takes an optional `obj` to be able to override its properties. The functions `configuration-layer/declare-layer` and `configuration-layer/declare-layers` now takes an optional parameter `usedp` in order to declare used or not used layers. For convenience new functions have been added: `configuration-layer/declare-used-layer` and `configuration-layer/declare-used-layers`, users _must_ update all occurrences of `configuration-layer/declare-layer` by `configuration-layer/declare-used-layers` in their `layers.el` files. `helm-spacemacs-help` and `ivy-spacemacs-help` are updated to match the changes in `core-configuration-layer.el`. Rename some variables to make them more explicit: `configuration-layer-no-layer` -> `configuration-layer-exclude-all-layers` `configuration-layer-distribution` -> `configuration-layer-force-distribution`
2016-07-17 19:00:43 +00:00
(let ((dir (configuration-layer/get-layer-local-dir 'org)))
(setq org-export-async-init-file (concat dir "org-async-init.el")))
;; Insert key for org-mode and markdown a la C-h k
;; from SE endless http://emacs.stackexchange.com/questions/2206/i-want-to-have-the-kbd-tags-for-my-blog-written-in-org-mode/2208#2208
(defun spacemacs/insert-keybinding-org (key)
"Ask for a key then insert its description.
Will work on both org-mode and any mode that accepts plain html."
(interactive "kType key sequence: ")
(let* ((tag "@@html:<kbd>@@ %s @@html:</kbd>@@"))
(if (null (equal key "\r"))
(insert
(format tag (help-key-description key nil)))
(insert (format tag ""))
(forward-char -8))))
2021-02-07 08:13:26 +00:00
(dolist (prefix `(
("mb" . "babel")
("mC" . ,(org-clocks-prefix))
("md" . "dates")
("me" . "export")
("mf" . "feeds")
("mi" . "insert")
("miD" . "download")
("mm" . "more")
("ms" . "trees/subtrees")
("mT" . "toggles")
("mt" . "tables")
("mtd" . "delete")
("mti" . "insert")
("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
;; Clock
;; These keybindings should match those under the "aoC" prefix (below)
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
2017-05-04 04:23:00 +00:00
"Cc" 'org-clock-cancel
"Cd" 'org-clock-display
"Ce" 'org-evaluate-time-range
"Cg" 'org-clock-goto
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
2017-05-04 04:23:00 +00:00
"Ci" 'org-clock-in
"CI" 'org-clock-in-last
"Cj" 'spacemacs/org-clock-jump-to-current-clock
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
2017-05-04 04:23:00 +00:00
"Co" 'org-clock-out
"CR" 'org-clock-report
2017-07-18 10:46:32 +00:00
"Cr" 'org-resolve-clocks
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
2017-05-04 04:23:00 +00:00
"dd" 'org-deadline
"ds" 'org-schedule
"dt" 'org-time-stamp
"dT" 'org-time-stamp-inactive
"ee" 'org-export-dispatch
"fi" 'org-feed-goto-inbox
"fu" 'org-feed-update-all
"a" 'org-agenda
"p" 'org-priority
"Tc" 'org-toggle-checkbox
"Te" 'org-toggle-pretty-entities
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
2017-05-04 04:23:00 +00:00
"Ti" 'org-toggle-inline-images
2020-09-27 12:28:43 +00:00
"Tn" 'org-num-mode
"Tl" 'org-toggle-link-display
"Tt" 'org-show-todo-tree
2017-06-06 13:32:13 +00:00
"TT" 'org-todo
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
2017-05-04 04:23:00 +00:00
"TV" 'space-doc-mode
"Tx" 'org-latex-preview
;; More cycling options (timestamps, headlines, items, properties)
"L" 'org-shiftright
"H" 'org-shiftleft
"J" 'org-shiftdown
"K" 'org-shiftup
;; Change between TODO sets
"C-S-l" 'org-shiftcontrolright
"C-S-h" 'org-shiftcontrolleft
"C-S-j" 'org-shiftcontroldown
"C-S-k" 'org-shiftcontrolup
;; Subtree editing
2017-10-30 08:21:34 +00:00
"sa" 'org-toggle-archive-tag
"sA" 'org-archive-subtree-default
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
2017-05-04 04:23:00 +00:00
"sb" 'org-tree-to-indirect-buffer
"sd" 'org-cut-subtree
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
2017-05-04 04:23:00 +00:00
"sh" 'org-promote-subtree
"sj" 'org-move-subtree-down
"sk" 'org-move-subtree-up
"sl" 'org-demote-subtree
"sn" 'org-narrow-to-subtree
"sw" 'widen
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
2017-05-04 04:23:00 +00:00
"sr" 'org-refile
"ss" 'org-sparse-tree
"sS" 'org-sort
;; tables
"ta" 'org-table-align
"tb" 'org-table-blank-field
"tc" 'org-table-convert
"tdc" 'org-table-delete-column
"tdr" 'org-table-kill-row
"te" 'org-table-eval-formula
"tE" 'org-table-export
"tf" 'org-table-field-info
"th" 'org-table-previous-field
"tH" 'org-table-move-column-left
"tic" 'org-table-insert-column
"tih" 'org-table-insert-hline
"tiH" 'org-table-hline-and-move
"tir" 'org-table-insert-row
"tI" 'org-table-import
"tj" 'org-table-next-row
"tJ" 'org-table-move-row-down
"tK" 'org-table-move-row-up
"tl" 'org-table-next-field
"tL" 'org-table-move-column-right
"tn" 'org-table-create
"tN" 'org-table-create-with-table.el
"tr" 'org-table-recalculate
"tR" 'org-table-recalculate-buffer-tables
"ts" 'org-table-sort-lines
"ttf" 'org-table-toggle-formula-debugger
"tto" 'org-table-toggle-coordinate-overlays
"tw" 'org-table-wrap-region
;; Source blocks / org-babel
"bp" 'org-babel-previous-src-block
"bn" 'org-babel-next-src-block
"be" 'org-babel-execute-maybe
"bo" 'org-babel-open-src-block-result
"bv" 'org-babel-expand-src-block
"bu" 'org-babel-goto-src-block-head
"bg" 'org-babel-goto-named-src-block
"br" 'org-babel-goto-named-result
"bb" 'org-babel-execute-buffer
"bs" 'org-babel-execute-subtree
"bd" 'org-babel-demarcate-block
"bt" 'org-babel-tangle
"bf" 'org-babel-tangle-file
"bc" 'org-babel-check-src-block
"bj" 'org-babel-insert-header-arg
"bl" 'org-babel-load-in-session
"bi" 'org-babel-lob-ingest
"bI" 'org-babel-view-src-block-info
"bz" 'org-babel-switch-to-session
"bZ" 'org-babel-switch-to-session-with-code
"ba" 'org-babel-sha1-hash
"bx" 'org-babel-do-key-sequence-in-edit-buffer
"b." 'spacemacs/org-babel-transient-state/body
;; Multi-purpose keys
2015-11-21 18:38:55 +00:00
(or dotspacemacs-major-mode-leader-key ",") 'org-ctrl-c-ctrl-c
"*" 'org-ctrl-c-star
"-" 'org-ctrl-c-minus
"#" 'org-update-statistics-cookies
"RET" 'org-ctrl-c-ret
"M-RET" 'org-meta-return
;; attachments
"A" 'org-attach
2017-04-18 02:19:47 +00:00
;; insertion
"ib" 'org-insert-structure-template
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
2017-05-04 04:23:00 +00:00
"id" 'org-insert-drawer
"ie" 'org-set-effort
2017-04-18 02:19:47 +00:00
"if" 'org-footnote-new
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
2017-05-04 04:23:00 +00:00
"ih" 'org-insert-heading
"iH" 'org-insert-heading-after-current
"ii" 'org-insert-item
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
2017-05-04 04:23:00 +00:00
"iK" 'spacemacs/insert-keybinding-org
"il" 'org-insert-link
"in" 'org-add-note
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
2017-05-04 04:23:00 +00:00
"ip" 'org-set-property
"is" 'org-insert-subheading
"it" 'org-set-tags-command
;; region manipulation
2015-11-21 18:33:11 +00:00
"xb" (spacemacs|org-emphasize spacemacs/org-bold ?*)
"xc" (spacemacs|org-emphasize spacemacs/org-code ?~)
"xi" (spacemacs|org-emphasize spacemacs/org-italic ?/)
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
2017-05-04 04:23:00 +00:00
"xo" 'org-open-at-point
2015-11-21 18:33:11 +00:00
"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-verbatim ?=))
2015-04-11 04:13:02 +00:00
;; Add global evil-leader mappings. Used to access org-agenda
;; functionalities and a few others commands from any other mode.
2015-11-09 20:26:39 +00:00
(spacemacs/declare-prefix "ao" "org")
(spacemacs/declare-prefix "aof" "feeds")
(spacemacs/declare-prefix "aoC" (org-clocks-prefix))
;; org-agenda
(when (configuration-layer/layer-used-p 'ivy)
(spacemacs/set-leader-keys "ao/" 'org-occur-in-agenda-files))
(spacemacs/set-leader-keys
"ao#" 'org-agenda-list-stuck-projects
"aoa" 'org-agenda-list
"aoo" 'org-agenda
"aoc" 'org-capture
"aoe" 'org-store-agenda-views
"aofi" 'org-feed-goto-inbox
"aofu" 'org-feed-update-all
;; Clock
;; These keybindings should match those under the "mC" prefix (above)
"aoCc" 'org-clock-cancel
"aoCg" 'org-clock-goto
"aoCi" 'org-clock-in
"aoCI" 'org-clock-in-last
"aoCj" 'spacemacs/org-clock-jump-to-current-clock
"aoCo" 'org-clock-out
"aoCr" 'org-resolve-clocks
"aol" 'org-store-link
"aom" 'org-tags-view
"aos" 'org-search-view
"aot" 'org-todo-list
;; SPC C- capture/colors
"Cc" 'org-capture)
(define-key global-map "\C-cl" 'org-store-link)
(define-key global-map "\C-ca" 'org-agenda)
(define-key global-map "\C-cc" 'org-capture))
2015-04-11 04:13:02 +00:00
:config
(progn
;; Activate evil insert state after these commands.
(dolist (fn '(org-insert-drawer
org-insert-heading
org-insert-item
org-insert-structure-template))
(advice-add fn :after #'spacemacs//org-maybe-activate-evil-insert))
;; We add this key mapping because an Emacs user can change
;; `dotspacemacs-major-mode-emacs-leader-key' to `C-c' and the key binding
;; C-c ' is shadowed by `spacemacs/default-pop-shell', effectively making
;; the Emacs user unable to exit src block editing.
(define-key org-src-mode-map
(kbd (concat dotspacemacs-major-mode-emacs-leader-key " '"))
'org-edit-src-exit)
;; Evilify the calendar tool on C-c .
(unless (eq 'emacs dotspacemacs-editing-style)
(define-key org-read-date-minibuffer-local-map (kbd "M-h")
(lambda () (interactive)
(org-eval-in-calendar '(calendar-backward-day 1))))
(define-key org-read-date-minibuffer-local-map (kbd "M-l")
(lambda () (interactive)
(org-eval-in-calendar '(calendar-forward-day 1))))
(define-key org-read-date-minibuffer-local-map (kbd "M-k")
(lambda () (interactive)
(org-eval-in-calendar '(calendar-backward-week 1))))
(define-key org-read-date-minibuffer-local-map (kbd "M-j")
(lambda () (interactive)
(org-eval-in-calendar '(calendar-forward-week 1))))
(define-key org-read-date-minibuffer-local-map (kbd "M-H")
(lambda () (interactive)
(org-eval-in-calendar '(calendar-backward-month 1))))
(define-key org-read-date-minibuffer-local-map (kbd "M-L")
(lambda () (interactive)
(org-eval-in-calendar '(calendar-forward-month 1))))
(define-key org-read-date-minibuffer-local-map (kbd "M-K")
(lambda () (interactive)
(org-eval-in-calendar '(calendar-backward-year 1))))
(define-key org-read-date-minibuffer-local-map (kbd "M-J")
(lambda () (interactive)
(org-eval-in-calendar '(calendar-forward-year 1)))))
(spacemacs|define-transient-state org-babel
:title "Org Babel Transient state"
:doc "
[_j_/_k_] navigate src blocks [_e_] execute src block
[_g_]^^ goto named block [_'_] edit src block
[_z_]^^ recenter screen [_q_] quit"
:bindings
("q" nil :exit t)
("j" org-babel-next-src-block)
("k" org-babel-previous-src-block)
("g" org-babel-goto-named-src-block)
("z" recenter-top-bottom)
("e" org-babel-execute-maybe)
("'" org-edit-special :exit t)))))
(defun org/init-org-agenda ()
(use-package org-agenda
:defer t
:init
(progn
(setq org-agenda-restore-windows-after-quit t)
2021-02-07 08:13:26 +00:00
(dolist (prefix `(("mC" . ,(org-clocks-prefix))
("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
(or dotspacemacs-major-mode-leader-key ",") 'org-agenda-ctrl-c-ctrl-c
2016-01-23 16:31:51 +00:00
"a" 'org-agenda
"c" 'org-agenda-capture
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
2017-05-04 04:23:00 +00:00
"Cc" 'org-agenda-clock-cancel
"Ci" 'org-agenda-clock-in
"Co" 'org-agenda-clock-out
"Cj" 'org-agenda-clock-goto
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
2017-05-04 04:23:00 +00:00
"dd" 'org-agenda-deadline
"ds" 'org-agenda-schedule
"ie" 'org-agenda-set-effort
"ip" 'org-agenda-set-property
"iP" 'org-agenda-priority
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
2017-05-04 04:23:00 +00:00
"it" 'org-agenda-set-tags
"sr" 'org-agenda-refile)
2016-02-20 14:30:18 +00:00
(spacemacs|define-transient-state org-agenda
:title "Org-agenda transient state"
:on-enter (setq which-key-inhibit t)
:on-exit (setq which-key-inhibit nil)
:evil-leader-for-mode (org-agenda-mode . ".")
:foreign-keys run
:doc
"
Headline^^ Visit entry^^ Filter^^ Date^^ Toggle mode^^ View^^ Clock^^ Other^^
--------^^--------- -----------^^------------ ------^^----------------- ----^^------------- -----------^^------ ----^^--------- -----^^------ -----^^-----------
[_ht_] set status [_SPC_] in other window [_ft_] by tag [_ds_] schedule [_tf_] follow [_vd_] day [_cI_] in [_gr_] reload
[_hk_] kill [_TAB_] & go to location [_fr_] refine by tag [_dS_] un-schedule [_tl_] log [_vw_] week [_cO_] out [_._] go to today
[_hr_] refile [_RET_] & del other windows [_fc_] by category [_dd_] set deadline [_ta_] archive [_vt_] fortnight [_cq_] cancel [_gd_] go to date
[_hA_] archive [_o_] link [_fh_] by top headline [_dD_] remove deadline [_tr_] clock report [_vm_] month [_cj_] jump ^^
[_h:_] set tags ^^ [_fx_] by regexp [_dt_] timestamp [_ti_] clock issues [_vy_] year ^^ ^^
[_hp_] set priority ^^ [_fd_] delete all filters [_+_] do later [_td_] diaries [_vn_] next span ^^ ^^
^^ ^^ ^^ [_-_] do earlier ^^ [_vp_] prev span ^^ ^^
^^ ^^ ^^ ^^ ^^ [_vr_] reset ^^ ^^
2016-02-20 14:30:18 +00:00
[_q_] quit
"
:bindings
;; Entry
("h:" org-agenda-set-tags)
("hA" org-agenda-archive-default)
("hk" org-agenda-kill)
("hp" org-agenda-priority)
("hr" org-agenda-refile)
("ht" org-agenda-todo)
;; Visit entry
("SPC" org-agenda-show-and-scroll-up)
("<tab>" org-agenda-goto :exit t)
("TAB" org-agenda-goto :exit t)
("RET" org-agenda-switch-to :exit t)
("o" link-hint-open-link :exit t)
;; Date
2019-05-12 14:16:21 +00:00
("+" org-agenda-do-date-later)
("-" org-agenda-do-date-earlier)
("dd" org-agenda-deadline)
("dD" (lambda () (interactive)
(let ((current-prefix-arg '(4)))
(call-interactively 'org-agenda-deadline))))
("ds" org-agenda-schedule)
("dS" (lambda () (interactive)
(let ((current-prefix-arg '(4)))
(call-interactively 'org-agenda-schedule))))
("dt" org-agenda-date-prompt)
;; View
("vd" org-agenda-day-view)
("vm" org-agenda-month-view)
("vn" org-agenda-later)
("vp" org-agenda-earlier)
("vr" org-agenda-reset-view)
2019-05-12 14:16:21 +00:00
("vt" org-agenda-fortnight-view)
("vw" org-agenda-week-view)
("vy" org-agenda-year-view)
;; Toggle mode
("ta" org-agenda-archives-mode)
("td" org-agenda-toggle-diary)
("tf" org-agenda-follow-mode)
("ti" org-agenda-show-clocking-issues)
("tl" org-agenda-log-mode)
("tr" org-agenda-clockreport-mode)
;; Filter
("fc" org-agenda-filter-by-category)
2019-05-12 14:16:21 +00:00
("fd" org-agenda-filter-remove-all)
("fh" org-agenda-filter-by-top-headline)
2019-05-12 14:16:21 +00:00
("fr" org-agenda-filter-by-tag-refine)
("ft" org-agenda-filter-by-tag)
("fx" org-agenda-filter-by-regexp)
;; Clock
("cI" org-agenda-clock-in :exit t)
("cj" org-agenda-clock-goto :exit t)
("cO" org-agenda-clock-out)
("cq" org-agenda-clock-cancel)
;; Other
("q" nil :exit t)
("gr" org-agenda-redo)
("." org-agenda-goto-today)
("gd" org-agenda-goto-date)))
:config
(when org-enable-org-contacts-support
(use-package org-contacts))
(evilified-state-evilify-map org-agenda-mode-map
:mode org-agenda-mode
:bindings
"j" 'org-agenda-next-line
"k" 'org-agenda-previous-line
2021-01-03 10:36:48 +00:00
"K" nil
;; C-h should not be rebound by evilification so we unshadow it manually
;; TODO add the rule in auto-evilification to ignore C-h (like we do
;; with C-g)
(kbd "C-h") nil
(kbd "M-j") 'org-agenda-next-item
(kbd "M-k") 'org-agenda-previous-item
(kbd "M-h") 'org-agenda-earlier
(kbd "M-l") 'org-agenda-later
(kbd "gd") 'org-agenda-toggle-time-grid
(kbd "gr") 'org-agenda-redo
(kbd "M-RET") 'org-agenda-show-and-scroll-up
2016-02-20 14:30:18 +00:00
(kbd "M-SPC") 'spacemacs/org-agenda-transient-state/body
(kbd "s-M-SPC") 'spacemacs/org-agenda-transient-state/body)))
2015-04-11 04:13:02 +00:00
(defun org/init-org-brain ()
(use-package org-brain
:defer t
:init
(progn
2019-02-09 23:20:32 +00:00
(spacemacs/declare-prefix "aoB" "org-brain")
(spacemacs/set-leader-keys
2019-02-09 23:20:32 +00:00
"aoBv" 'org-brain-visualize
"aoBa" 'org-brain-agenda)
(spacemacs/declare-prefix-for-mode 'org-mode "mB" "org-brain")
(spacemacs/declare-prefix-for-mode 'org-mode "mBa" "add")
(spacemacs/declare-prefix-for-mode 'org-mode "mBg" "goto")
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"Bv" 'org-brain-visualize
"Bac" 'org-brain-add-child
"Bah" 'org-brain-add-child-headline
2019-02-09 23:20:32 +00:00
"Bap" 'org-brain-add-parent
"Bar" 'org-brain-add-resource
"Baf" 'org-brain-add-friendship
"Bgg" 'org-brain-goto
2019-02-09 23:20:32 +00:00
"Bgc" 'org-brain-goto-child
"Bgp" 'org-brain-goto-parent
"Bgf" 'org-brain-goto-friend
"BR" 'org-brain-refile
"Bx" 'org-brain-delete-entry)
(evil-set-initial-state 'org-brain-visualize-mode 'emacs))))
(defun org/init-org-expiry ()
(use-package org-expiry
:commands (org-expiry-insinuate
org-expiry-deinsinuate
org-expiry-insert-created
org-expiry-insert-expiry
org-expiry-add-keyword
org-expiry-archive-subtree
org-expiry-process-entry
org-expiry-process-entries)))
2016-04-22 03:26:57 +00:00
(defun org/init-org-download ()
(use-package org-download
:commands (org-download-enable
org-download-yank
org-download-screenshot)
:init
(progn
(add-hook 'org-mode-hook 'org-download-enable)
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
2017-05-04 04:23:00 +00:00
(spacemacs/declare-prefix-for-mode 'org-mode "miD" "download")
2016-04-22 03:26:57 +00:00
(spacemacs/set-leader-keys-for-major-mode 'org-mode
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
2017-05-04 04:23:00 +00:00
"iDy" 'org-download-yank
"iDs" 'org-download-screenshot))))
2016-04-22 03:26:57 +00:00
2018-10-16 12:30:48 +00:00
(defun org/init-org-jira ()
(use-package org-jira
:defer t
:init
(progn
(spacemacs/declare-prefix "aoJ" "jira")
(spacemacs/declare-prefix "aoJp" "projects")
(spacemacs/declare-prefix "aoJi" "issues")
(spacemacs/declare-prefix "aoJs" "subtasks")
(spacemacs/declare-prefix "aoJc" "comments")
(spacemacs/declare-prefix "aoJt" "todos")
(spacemacs/set-leader-keys
"aoJpg" 'org-jira-get-projects
"aoJib" 'org-jira-browse-issue
"aoJig" 'org-jira-get-issues
"aoJih" 'org-jira-get-issues-headonly
"aoJif" 'org-jira-get-issues-from-filter-headonly
"aoJiu" 'org-jira-update-issue
"aoJiw" 'org-jira-progress-issue
"aoJir" 'org-jira-refresh-issue
"aoJic" 'org-jira-create-issue
"aoJiy" 'org-jira-copy-current-issue-key
"aoJsc" 'org-jira-create-subtask
"aoJsg" 'org-jira-get-subtasks
"aoJcu" 'org-jira-update-comment
"aoJtj" 'org-jira-todo-to-jira)
(spacemacs/declare-prefix-for-mode 'org-mode "mmj" "jira")
(spacemacs/declare-prefix-for-mode 'org-mode "mmjp" "projects")
(spacemacs/declare-prefix-for-mode 'org-mode "mmji" "issues")
(spacemacs/declare-prefix-for-mode 'org-mode "mmjs" "subtasks")
(spacemacs/declare-prefix-for-mode 'org-mode "mmjc" "comments")
(spacemacs/declare-prefix-for-mode 'org-mode "mmjt" "todos")
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"mjpg" 'org-jira-get-projects
"mjib" 'org-jira-browse-issue
"mjig" 'org-jira-get-issues
"mjih" 'org-jira-get-issues-headonly
"mjif" 'org-jira-get-issues-from-filter-headonly
"mjiu" 'org-jira-update-issue
"mjiw" 'org-jira-progress-issue
"mjir" 'org-jira-refresh-issue
"mjic" 'org-jira-create-issue
"mjiy" 'org-jira-copy-current-issue-key
"mjsc" 'org-jira-create-subtask
"mjsg" 'org-jira-get-subtasks
"mjcu" 'org-jira-update-comment
"mjtj" 'org-jira-todo-to-jira))))
2018-10-16 12:30:48 +00:00
(defun org/init-org-mime ()
(use-package org-mime
:defer t
:init
(progn
(spacemacs/set-leader-keys-for-major-mode 'message-mode
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
2017-05-04 04:23:00 +00:00
"em" 'org-mime-htmlize)
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"em" 'org-mime-org-buffer-htmlize
"es" 'org-mime-org-subtree-htmlize))))
2015-04-11 14:44:07 +00:00
(defun org/init-org-pomodoro ()
2015-04-11 04:13:02 +00:00
(use-package org-pomodoro
:defer t
2015-04-11 04:13:02 +00:00
:init
(progn
(when (spacemacs/system-is-mac)
2015-04-11 04:13:02 +00:00
(setq org-pomodoro-audio-player "/usr/bin/afplay"))
(spacemacs/set-leader-keys-for-major-mode 'org-mode
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
2017-05-04 04:23:00 +00:00
"Cp" 'org-pomodoro)
(spacemacs/set-leader-keys-for-major-mode 'org-journal-mode
"Cp" 'org-pomodoro)
(spacemacs/set-leader-keys-for-major-mode 'org-agenda-mode
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
2017-05-04 04:23:00 +00:00
"Cp" 'org-pomodoro))))
2015-04-11 04:13:02 +00:00
(defun org/init-org-present ()
(use-package org-present
:defer t
:init
(progn
(defun spacemacs//org-present-start ()
"Initiate `org-present' mode"
(org-present-big)
(org-display-inline-images)
(org-present-hide-cursor)
(org-present-read-only)
(evil-define-key 'normal org-present-mode-keymap
"h" 'org-present-prev
(kbd "<left>") 'org-present-prev
"l" 'org-present-next
(kbd "<right>") 'org-present-next
"q" 'org-present-quit)
;; evil-normal-state seems to be required to load the above key bindings
(evil-normal-state))
(defun spacemacs//org-present-end ()
"Terminate `org-present' mode"
(org-present-small)
(if (not org-startup-with-inline-images)
(org-remove-inline-images))
(org-present-show-cursor)
(org-present-read-write))
(add-hook 'org-present-mode-hook 'spacemacs//org-present-start)
(add-hook 'org-present-mode-quit-hook 'spacemacs//org-present-end))))
2019-05-10 12:41:00 +00:00
(defun org/init-org-cliplink ()
(use-package org-cliplink
:defer t
:init
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"iL" 'org-cliplink)))
(defun org/init-org-rich-yank ()
(use-package org-rich-yank
:ensure t
:demand t
:init
(spacemacs/set-leader-keys-for-major-mode 'org-mode
;; yank is a misnomer for this function which actually puts/pastes
;; ir = "insert rich"
"ir" 'org-rich-yank)))
2016-06-14 09:35:54 +00:00
(defun org/init-org-projectile ()
(use-package org-projectile
:commands (org-projectile-location-for-project)
2015-04-11 04:13:02 +00:00
:init
(progn
(spacemacs/set-leader-keys
2016-06-14 09:35:54 +00:00
"aop" 'org-projectile/capture
"po" 'org-projectile/goto-todos)
(with-eval-after-load 'org-capture
(require 'org-projectile)))
2016-04-04 14:09:59 +00:00
:config
2016-06-14 09:35:54 +00:00
(if (file-name-absolute-p org-projectile-file)
(progn
(setq org-projectile-projects-file org-projectile-file)
(push (org-projectile-project-todo-entry :empty-lines 1)
2016-06-14 09:35:54 +00:00
org-capture-templates))
(org-projectile-per-project)
(setq org-projectile-per-project-filepath org-projectile-file))))
2015-04-13 06:01:49 +00:00
2019-01-30 17:52:11 +00:00
(defun org/pre-init-ox-epub ()
(spacemacs|use-package-add-hook org :post-config (require 'ox-epub)))
(defun org/init-ox-epub ())
(defun org/pre-init-ox-twbs ()
2016-09-24 01:06:57 +00:00
(spacemacs|use-package-add-hook org :post-config (require 'ox-twbs)))
(defun org/init-ox-twbs ())
2016-09-24 01:06:57 +00:00
(defun org/pre-init-ox-gfm ()
(spacemacs|use-package-add-hook org :post-config (require 'ox-gfm)))
(defun org/init-ox-gfm ())
2016-06-02 02:07:24 +00:00
(defun org/pre-init-org-re-reveal ()
(spacemacs|use-package-add-hook org :post-config (require 'org-re-reveal)))
(defun org/init-org-re-reveal ())
(defun org/post-init-persp-mode ()
(spacemacs|define-custom-layout "@Org"
:binding "o"
:body
2016-08-07 19:04:04 +00:00
(let ((agenda-files (org-agenda-files)))
(if agenda-files
(progn (find-file (if org-persp-startup-org-file org-persp-startup-org-file (first agenda-files)))
(if org-persp-startup-with-agenda (org-agenda nil org-persp-startup-with-agenda)
2021-02-07 08:13:26 +00:00
))
(user-error "Error: No agenda files configured, nothing to display.")))))
2016-09-07 03:10:13 +00:00
(defun org/init-org-contacts ()
(use-package org-contacts
2021-02-07 08:13:26 +00:00
:defer t
:init
(progn
(spacemacs/set-leader-keys-for-major-mode 'org-agenda-mode
"Cf" 'org-contacts-find-file)
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"Cf" 'org-contacts-find-file)
(spacemacs/set-leader-keys
"aoCf" 'org-contacts-find-file))))
(defun org/init-org-vcard ()
(use-package org-vcard
:defer t))
2016-09-07 03:10:13 +00:00
(defun org/init-org-journal ()
(use-package org-journal
:defer t
:commands (org-journal-new-entry org-journal-search-forever)
2016-09-07 03:10:13 +00:00
:init
(progn
(spacemacs/declare-prefix "aoj" "org-journal")
(spacemacs/set-leader-keys
"aojf" 'org-journal-open-current-journal-file
"aojj" 'org-journal-new-entry
"aojs" 'org-journal-search-forever
"aojt" 'org-journal-new-scheduled-entry
"aojv" 'org-journal-schedule-view)
2016-09-07 03:10:13 +00:00
(setq spacemacs-org-journal-mode-map (copy-keymap spacemacs-org-mode-map))
2016-09-07 03:10:13 +00:00
(spacemacs/set-leader-keys-for-major-mode 'calendar-mode
"r" 'org-journal-read-entry
"i" 'org-journal-new-date-entry
"n" 'org-journal-next-entry
"p" 'org-journal-previous-entry
"s" 'org-journal-search-forever
"w" 'org-journal-search-calendar-week
"m" 'org-journal-search-calendar-month
"y" 'org-journal-search-calendar-year)
2016-09-07 03:10:13 +00:00
(spacemacs/set-leader-keys-for-major-mode 'org-journal-mode
"j" 'org-journal-new-entry
"n" 'org-journal-next-entry
"p" 'org-journal-previous-entry)
(spacemacs//init-leader-mode-map 'org-journal-mode 'spacemacs-org-journal-mode-map))))
(defun org/init-ox-hugo ()
(use-package ox-hugo :after ox))
(defun org/init-ox-jira ()
(use-package ox-jira :after ox))
(defun org/init-org-trello ()
(use-package org-trello
:after org
:config
(progn
(spacemacs/declare-prefix-for-mode 'org-mode "mmt" "trello")
(spacemacs/declare-prefix-for-mode 'org-mode "mmtd" "sync down")
(spacemacs/declare-prefix-for-mode 'org-mode "mmtu" "sync up")
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"mtI" 'org-trello-install-key-and-token
"mta" 'org-trello-archive-card
"mtc" 'org-trello-create-board-and-install-metadata
"mti" 'org-trello-install-board-metadata
"mtm" 'org-trello-update-board-metadata
"mtdb" 'spacemacs/org-trello-pull-buffer
"mtdc" 'spacemacs/org-trello-pull-card
"mtub" 'spacemacs/org-trello-push-buffer
"mtuc" 'spacemacs/org-trello-push-card))))
(defun org/init-org-roam ()
(use-package org-roam
:defer t
:hook (after-init . org-roam-mode)
:init
(progn
(spacemacs/declare-prefix "aor" "org-roam")
(spacemacs/declare-prefix "aord" "org-roam-dailies")
(spacemacs/declare-prefix "aort" "org-roam-tags")
(spacemacs/set-leader-keys
"aordy" 'org-roam-dailies-find-yesterday
"aordt" 'org-roam-dailies-find-today
"aordT" 'org-roam-dailies-find-tomorrow
"aordd" 'org-roam-dailies-find-date
"aorf" 'org-roam-find-file
"aorg" 'org-roam-graph
"aori" 'org-roam-insert
"aorI" 'org-roam-insert-immediate
"aorl" 'org-roam-buffer-toggle-display
"aorta" 'org-roam-tag-add
"aortd" 'org-roam-tag-delete)
(spacemacs/declare-prefix-for-mode 'org-mode "mr" "org-roam")
(spacemacs/declare-prefix-for-mode 'org-mode "mrd" "org-roam-dailies")
(spacemacs/declare-prefix-for-mode 'org-mode "mrt" "org-roam-tags")
(spacemacs/set-leader-keys-for-major-mode 'org-mode
"rb" 'org-roam-switch-to-buffer
"rdy" 'org-roam-dailies-find-yesterday
"rdt" 'org-roam-dailies-find-today
"rdT" 'org-roam-dailies-find-tomorrow
"rdd" 'org-roam-dailies-find-date
"rf" 'org-roam-find-file
"rg" 'org-roam-graph
"ri" 'org-roam-insert
"rI" 'org-roam-insert-immediate
"rl" 'org-roam-buffer-toggle-display
"rta" 'org-roam-tag-add
"rtd" 'org-roam-tag-delete))
:config
(progn
(spacemacs|hide-lighter org-roam-mode))))
(defun org/init-org-sticky-header ()
(use-package org-sticky-header
:defer t
:init
(add-hook 'org-mode-hook 'org-sticky-header-mode)))
2020-03-22 22:10:31 +00:00
(defun org/init-verb ()
(use-package verb
:defer t
:init
(spacemacs/set-leader-keys-for-major-mode
'org-mode
"rf" #'verb-send-request-on-point
"rs" #'verb-send-request-on-point-other-window
"rr" #'verb-send-request-on-point-other-window-stay
"rm" #'verb-send-request-on-point-no-window
"rk" #'verb-kill-all-response-buffers
"re" #'verb-export-request-on-point
"ru" #'verb-export-request-on-point-curl
"rb" #'verb-export-request-on-point-verb
"rv" #'verb-set-var)
:config
(progn
(spacemacs/set-leader-keys-for-minor-mode
'verb-response-body-mode
"rr" #'verb-toggle-show-headers
"rk" #'verb-kill-response-buffer-and-window
"rf" #'verb-re-send-request)
(spacemacs/set-leader-keys-for-major-mode
'verb-response-headers-mode
"rq" #'verb-kill-buffer-and-window))))
2020-03-22 22:10:31 +00:00
(defun org/pre-init-verb ()
(spacemacs|use-package-add-hook org
:post-config (add-to-list 'org-babel-load-languages '(verb . t))))
(defun org/init-valign ()
(use-package valign
:init
(progn
(add-hook 'org-mode-hook 'valign-mode)
(add-hook 'valign-mode-hook (lambda () (unless valign-mode
(valign-remove-advice)))))
:config
(spacemacs|diminish valign-mode "" " E")))