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

608 lines
23 KiB
EmacsLisp
Raw Normal View History

2015-04-11 04:13:02 +00:00
;;; packages.el --- Org Layer packages File for Spacemacs
;;
;; Copyright (c) 2012-2017 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
(setq org-packages
2017-06-06 13:32:13 +00:00
'(
company
company-emoji
emoji-cheat-sheet-plus
evil-org
evil-surround
gnuplot
htmlize
;; ob, org and org-agenda are installed by `org-plus-contrib'
(ob :location built-in)
(org :location built-in)
(org-agenda :location built-in)
(org-brain :toggle (version<= "25" emacs-version))
2017-06-06 13:32:13 +00:00
(org-expiry :location built-in)
(org-journal :toggle org-enable-org-journal-support)
org-download
;; org-mime is installed by `org-plus-contrib'
(org-mime :location built-in)
org-pomodoro
org-present
2017-07-03 07:52:54 +00:00
(org-projectile :requires projectile)
2017-06-06 13:32:13 +00:00
(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)
(ox-reveal :toggle org-enable-reveal-js-support)
persp-mode
))
(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
2017-06-06 13:32:13 +00:00
:defer t
: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-key-theme `(textobjects
navigation
additional
,@(when org-want-todo-bindings '(todo)))))
2017-06-06 13:32:13 +00:00
:config
(spacemacs|diminish evil-org-mode "" " e")))
2015-04-11 04:13:02 +00:00
2015-11-05 16:34:06 +00:00
(defun org/post-init-evil-surround ()
(defun spacemacs/add-org-surrounds ()
(push '(?: . spacemacs//surround-drawer) evil-surround-pairs-alist)
(push '(?# . spacemacs//surround-code) evil-surround-pairs-alist))
(add-hook 'org-mode-hook 'spacemacs/add-org-surrounds))
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)))
2016-06-02 02:07:24 +00:00
(defun org/init-htmlize ()
(use-package htmlize
:defer t))
(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
:defer t
2016-06-04 21:47:22 +00:00
:commands (orgtbl-mode)
2015-04-11 04:13:02 +00:00
:init
(progn
(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/")
2015-06-16 02:28:36 +00:00
org-log-done t
2015-06-15 21:23:42 +00:00
org-startup-with-inline-images t
org-image-actual-width nil
org-src-fontify-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-indent
(spacemacs|hide-lighter org-indent-mode))
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")))
(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
(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
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
"r" 'org-capture-refile))
(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))
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")))
(defmacro spacemacs|org-emphasize (fname char)
"Make function for setting the emphasis in org mode"
`(defun ,fname () (interactive)
(org-emphasize ,char)))
;; 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))))
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
(dolist (prefix '(
("mC" . "clocks")
("md" . "dates")
("me" . "export")
("mh" . "headings")
("mi" . "insert")
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
("miD" . "download")
("ms" . "trees/subtrees")
("mT" . "toggles")
("mt" . "tables")
("mtd" . "delete")
("mti" . "insert")
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
("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
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
"Ci" 'org-clock-in
"Co" 'org-clock-out
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
"a" 'org-agenda
"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
"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-toggle-latex-fragment
;; 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
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
"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
"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
"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
"ts" 'org-table-sort-lines
"ttf" 'org-table-toggle-formula-debugger
"tto" 'org-table-toggle-coordinate-overlays
"tw" 'org-table-wrap-region
;; 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
"RET" 'org-ctrl-c-ret
"-" 'org-ctrl-c-minus
"#" 'org-update-statistics-cookies
;; attachments
"A" 'org-attach
2017-04-18 02:19:47 +00:00
;; insertion
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
"iK" 'spacemacs/insert-keybinding-org
"il" 'org-insert-link
"ip" 'org-set-property
"is" 'org-insert-subheading
"it" 'org-set-tags
;; 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 "aok" "clock")
(spacemacs/set-leader-keys
;; org-agenda
"ao#" 'org-agenda-list-stuck-projects
"ao/" 'org-occur-in-agenda-files
"aoa" 'org-agenda-list
"aoc" 'org-capture
"aoe" 'org-store-agenda-views
"aoki" 'org-clock-in-last
"aokj" 'org-clock-jump-to-current-clock
"aoko" 'org-clock-out
"aokr" 'org-resolve-clocks
"aol" 'org-store-link
"aom" 'org-tags-view
"aoo" 'org-agenda
"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
(setq org-default-notes-file "notes.org")
2015-10-05 11:40:47 +00:00
;; 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))))))))
(defun org/init-org-agenda ()
(use-package org-agenda
:defer t
:init
(progn
(setq org-agenda-restore-windows-after-quit t)
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
(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
2016-01-23 16:31:51 +00:00
"a" 'org-agenda
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
"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)
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)
: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 [_dd_] set deadline [_tl_] log [_vw_] week [_cO_] out [_._] go to today
[_hr_] refile [_RET_] & del other windows [_fc_] by category [_dt_] timestamp [_ta_] archive [_vt_] fortnight [_cq_] cancel [_gd_] go to date
2016-02-20 14:30:18 +00:00
[_hA_] archive [_o_] link [_fh_] by top headline [_+_] do later [_tr_] clock report [_vm_] month [_cj_] jump ^^
[_h:_] set tags ^^ [_fx_] by regexp [_-_] do earlier [_td_] diaries [_vy_] year ^^ ^^
2016-02-20 14:30:18 +00:00
[_hp_] set priority ^^ [_fd_] delete all filters ^^ ^^ [_vn_] next span ^^ ^^
^^ ^^ ^^ ^^ ^^ [_vp_] prev span ^^ ^^
^^ ^^ ^^ ^^ ^^ [_vr_] reset ^^ ^^
[_q_] quit
"
:bindings
;; Entry
("h:" org-agenda-set-tags)
2016-02-20 14:30:18 +00:00
("hA" org-agenda-archive-default)
("hk" org-agenda-kill)
2016-02-20 14:30:18 +00:00
("hp" org-agenda-priority)
("hr" org-agenda-refile)
("ht" org-agenda-todo)
2016-02-20 14:30:18 +00:00
;; 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
("ds" org-agenda-schedule)
("dd" org-agenda-deadline)
("dt" org-agenda-date-prompt)
("+" org-agenda-do-date-later)
("-" org-agenda-do-date-earlier)
;; View
("vd" org-agenda-day-view)
("vw" org-agenda-week-view)
("vt" org-agenda-fortnight-view)
("vm" org-agenda-month-view)
("vy" org-agenda-year-view)
("vn" org-agenda-later)
("vp" org-agenda-earlier)
("vr" org-agenda-reset-view)
;; Toggle mode
("tf" org-agenda-follow-mode)
("tl" org-agenda-log-mode)
("ta" org-agenda-archives-mode)
("tr" org-agenda-clockreport-mode)
("td" org-agenda-toggle-diary)
;; Filter
("ft" org-agenda-filter-by-tag)
("fr" org-agenda-filter-by-tag-refine)
("fc" org-agenda-filter-by-category)
("fh" org-agenda-filter-by-top-headline)
("fx" org-agenda-filter-by-regexp)
("fd" org-agenda-filter-remove-all)
;; Clock
("cI" org-agenda-clock-in :exit t)
2016-02-20 14:30:18 +00:00
("cj" org-agenda-clock-goto :exit t)
("cO" org-agenda-clock-out)
("cq" org-agenda-clock-cancel)
2016-02-20 14:30:18 +00:00
;; Other
("q" nil :exit t)
("gr" org-agenda-redo)
("." org-agenda-goto-today)
("gd" org-agenda-goto-date)))
:config
(evilified-state-evilify-map org-agenda-mode-map
:mode org-agenda-mode
:bindings
"j" 'org-agenda-next-line
"k" 'org-agenda-previous-line
(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
(spacemacs/set-leader-keys
2017-08-01 14:34:48 +00:00
"aob" 'org-brain-visualize)
(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
(defun org/init-org-mime ()
(use-package org-mime
:defer t
:commands (org-mime-htmlize org-mime-org-buffer-htmlize)
:init
(progn
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
;; move this key bindings to an `init-message' function
(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
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-org-buffer-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
: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-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
(evilified-state-evilify nil org-present-mode-keymap
"h" 'org-present-prev
"l" 'org-present-next
"q" 'org-present-quit)
(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-evilified-state))
(defun spacemacs//org-present-end ()
"Terminate `org-present' mode"
(org-present-small)
(org-remove-inline-images)
(org-present-show-cursor)
(org-present-read-write)
(evil-normal-state))
(add-hook 'org-present-mode-hook 'spacemacs//org-present-start)
(add-hook 'org-present-mode-quit-hook 'spacemacs//org-present-end))))
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
2016-09-24 01:06:57 +00:00
(defun org/init-ox-twbs ()
(spacemacs|use-package-add-hook org :post-config (require 'ox-twbs)))
(defun org/init-ox-gfm ()
(spacemacs|use-package-add-hook org :post-config (require 'ox-gfm)))
2016-06-02 02:07:24 +00:00
(defun org/init-ox-reveal ()
(spacemacs|use-package-add-hook org :post-config (require 'ox-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
(find-file (first agenda-files))
(user-error "Error: No agenda files configured, nothing to display.")))))
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
"aojj" 'org-journal-new-entry
"aojs" 'org-journal-search-forever)
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-open-next-entry
"p" 'org-journal-open-previous-entry))))