Additions/improvements for org layer of Spacemacs.
- Integrated packages
- calfw calendar framework
- org-agenda-property to display properties in the agenda buffer
- org-ql to query org files
- helm-org-rifle to quickly search through org files even when
ivylayer is used (i.e., works without using thehelmlayer;orgpneeds to be loaded afterorgfor this to work)
- Show associated timestamp of a headline in the breadcrumb
- Various customizations for the agenda view
- Functionality to apply custom faces for each tag in the agenda view
- Functionality to add a pagebreak before each new data in the agenda view
- Functionality to disable mouse-over faces in the agenda view
- Functionality to hide time grid lines that overlap with an appointment (see
layer variable
orgp/org-agenda-time-grid-hide-when-appointment) - Custom comparator to sort agenda items such that full-day events come first, then events with a timestamp, then the TODO items
- When selecting a date using
org-read-date, show/hide diary view for selected day via! - Processing of src blocks
- Functionality to tangle a single src block to a file
- Functionality to copy a single src block to kill ring
- Functionality to tangle all src blocks in a subtree to a file
- Let
org-babelexecutebatcode blocks (usingcmdproxy.exe)
- Functionality to export the current subtree to a temporary HTML file for
inclusion elsewhere (see
orgp/org-subtree-htmlize-to-temp-file) - Functionality to yank the current subtree without ID properties
- Functionality to yank/paste table at point in various formats (org, csv, tsv)
- More useful return key for Evil
- in insert mode, use
evil-org-return - in normal mode, use
org-open-at-pointwhen point is on a link, else useevil-ret
- in insert mode, use
- Add support for
calltolinks - Integration with Zotero
- Support for links to Zotero items
- Export an org-mode link from Zotero (see comments in Org Link.js)
- Export an org-mode item from Zotero (see comments in Org Entry.js), including a link to the Zotero item and a suitable setting of the attachment folder
- Modifies org-sticky-header to show full path unfontified in header line
(enable with layer variable
org-enable-sticky-header) - Additional keybindings
- Quickly reveal things around point
- Access to
org-babel - Quicker timestamp changes in agenda view
In the keybindings given below, , refers to the major mode leader key.
SPC aofa / ,fa | search through agenda files with helm-org-rifle | |
SPC aofA / ,fA | search through agenda and archive files with helm-org-rifle | |
,jr | search through current buffer with helm-org-rifle | |
| navigation | SPC aofr / ,fr | goto last refiled entry |
SPC aofc / ,fc | goto last captured entry | |
SPC aoq | query agenda using org-ql | |
| subtrees | ,y | copy current subtree without ID properties |
,et | export subtree to temporary HTML file and copy file name to kill ring | |
| table | ,tyy | yank table at point as ORG |
,tyc | yank table at point as CSV | |
,tyt | yank table at point as TSV | |
,tPP | paste table (automatically determine format) | |
,tPc | paste table from CSV | |
,tPt | paste table from TSV | |
| visiblity | ,vc | reveal the children of the current entry |
,ve | reveal the body of the current entry | |
,vo | fold all top-level headlines | |
,vr | reveal the current entry, its parents, and the next sibling headline | |
,vv | reveal the current entry, its parents, and all its siblings | |
| org-babel | ,b | prefix to access all org-babel commands |
,bb | execute current src block | |
,bB | execute all src blocks in buffer | |
,btt | tangle file | |
,bts | tangle subtree | |
,btb | tangle current block | |
,bty | copy current block to kill ring | |
| Agenda | S-<left> / S-<right> | change forward/backward timestamp by day |
C-<left> / C-<right> | change forward/backward timestamp by hour | |
M-<left> / M-<right> | change forward/backward timestamp by minute | |
| Date prompt | ! | Toggle diary view for selected day |
| Other | ,TI | toggle org-indent mode |
Disabled by default. Example usage:
;; hook to change appearance of agenda view
(defun my/org-agenda-finalize-hook ()
(save-excursion
;; color agenda items by their tag (faces need to be defined somewhere)
(orgp/org-agenda-color-by-tag "personal" 'my/org-agenda-calendar-event-personal-face)
(orgp/org-agenda-color-by-tag "work" 'my/org-agenda-calendar-event-anniversary-face)
;; add a pagebreak before every new day
(orgp/org-agenda-pagebreak-before-new-date)
;; don't change the face on mouse-over
(orgp/org-agenda-modify-mouse-face)))
;; enable the above hook
(add-hook 'org-agenda-finalize-hook 'my/org-agenda-finalize-hook t)
;; show page breaks as horizontal lines
(add-hook 'org-agenda-mode-hook 'turn-on-page-break-lines-mode)
;; sort agenda items such that full-day events come first, then events with a
;; timestamp, then the TODO items
(setq org-agenda-cmp-user-defined 'orgp/org-agenda-cmp-todos-up)
(setq org-agenda-sorting-strategy
'((agenda user-defined-up time-up priority-down category-keep)
(todo deadline-up)
(tags ts-down priority-down alpha-up)
(search ts-down priority-down alpha-up)))