2015-12-02 14:23:39 +00:00
#+TITLE : Org layer
2015-11-08 18:04:44 +00:00
#+HTML_HEAD_EXTRA : <link rel="stylesheet" type="text/css" href="../../css/readtheorg.css" />
2015-06-10 16:44:30 +00:00
[[file:img/org.png ]]
2015-10-30 11:20:58 +00:00
* Table of Contents :TOC_4_org:noexport:
- [[Description ][Description ]]
- [[Features: ][Features: ]]
2015-12-04 05:04:46 +00:00
- [[Important Note ][Important Note ]]
2015-10-30 11:20:58 +00:00
- [[Install ][Install ]]
- [[Layer ][Layer ]]
- [[Github support ][Github support ]]
- [[Gnuplot support ][Gnuplot support ]]
- [[Different bullets ][Different bullets ]]
- [[Key bindings ][Key bindings ]]
- [[Org ][Org ]]
- [[Org with evil-org-mode ][Org with evil-org-mode ]]
- [[Tables ][Tables ]]
- [[Tree ][Tree ]]
- [[Element insertion ][Element insertion ]]
- [[Links ][Links ]]
- [[Emphasis ][Emphasis ]]
- [[Tagging ][Tagging ]]
2016-01-08 09:25:24 +00:00
- [[Navigating in calendar ][Navigating in calendar ]]
2016-01-19 06:21:34 +00:00
- [[Capture buffers and src blocks ][Capture buffers and src blocks ]]
2015-11-17 18:52:20 +00:00
- [[Org agenda ][Org agenda ]]
2016-02-20 14:30:18 +00:00
- [[Keybindings ][Keybindings ]]
- [[Org agenda transient state ][Org agenda transient state ]]
2015-10-30 11:20:58 +00:00
- [[Pomodoro ][Pomodoro ]]
- [[Presentation ][Presentation ]]
- [[Org-repo-todo ][Org-repo-todo ]]
- [[Org-MIME ][Org-MIME ]]
2015-06-10 16:44:30 +00:00
* Description
This layer enables [[http://orgmode.org/ ][org mode ]] for Spacemacs.
2015-06-10 21:16:01 +00:00
** Features:
2015-06-10 16:44:30 +00:00
- Vim inspired key bindings are provided by [[https://github.com/edwtjo/evil-org-mode ][evil-org-mode ]]
- Nicer bullet via [[https://github.com/sabof/org-bullets ][org-bullets ]]
- A [[http://pomodorotechnique.com/ ][pomodoro method ]] integration via [[https://github.com/lolownia/org-pomodoro ][org-pomodoro ]]
- TODO capture via [[https://github.com/waymondo/org-repo-todo ][org-repo-todo ]]
- presentation mode via [[https://github.com/rlister/org-present ][org-present ]]
2015-12-05 07:19:02 +00:00
2015-12-04 05:04:46 +00:00
** Important Note
2015-12-02 06:18:58 +00:00
Since version 0.104, spacemacs uses the =org= version from the org ELPA
repository instead of the one shipped with emacs. Then, any =org= related code
should not be loaded before =dotspacemacs/user-config= , otherwise both versions
2015-10-12 20:48:47 +00:00
will be loaded and will conflict.
2015-06-10 16:44:30 +00:00
2015-12-04 05:04:46 +00:00
Because of autoloading, calling to =org= functions will trigger the loading up
of the =org= shipped with emacs wich will induce conflicts.
One way to avoid conflict is to wrap your =org= config code in a
=with-eval-after-load= block like this:
2015-12-02 06:18:58 +00:00
#+BEGIN_SRC emacs-lisp
(with-eval-after-load 'org
;; here goes your Org config :)
;; ....
2015-12-04 05:04:46 +00:00
)
2015-12-02 06:18:58 +00:00
#+END_SRC
2015-06-10 16:44:30 +00:00
* Install
** Layer
2016-01-06 05:21:55 +00:00
To use this configuration layer, add it to your =~/.spacemacs= . You will need to
add =org= to the existing =dotspacemacs-configuration-layers= list in this
file.
2015-06-10 16:44:30 +00:00
** Github support
2015-06-10 21:16:01 +00:00
To install Github related extensions like [[https://github.com/larstvei/ox-gfm ][ox-gfm ]] to export to Github
flavored markdown set the variable =org-enable-github-support= to =t= .
2015-06-10 16:44:30 +00:00
#+BEGIN_SRC emacs-lisp
(setq-default dotspacemacs-configuration-layers '(
(org :variables
org-enable-github-support t)))
#+END_SRC
2015-09-08 01:31:14 +00:00
** Gnuplot support
Org-mode support the plotting of data within tables through [[http://www.gnuplot.info/ ][Gnuplot ]] as
demonstrated [[http://orgmode.org/worg/org-tutorials/org-plot.html ][here ]]; unfortunately, this is [[https://github.com/bruceravel/gnuplot-mode/issues/15 ][not terribly well supported ]] on Windows
at this stage. It is possible to disable the configuration of gnuplot support
2015-09-10 02:24:17 +00:00
as usual by adding the package =gnuplot= to your =dotspacemacs-excluded-packages=
variable.
2015-09-08 01:31:14 +00:00
2015-06-10 16:44:30 +00:00
** Different bullets
You can tweak the bullets displayed in the org buffer in the function
2015-09-28 06:05:18 +00:00
=dotspacemacs/user-config= of your dotfile by setting the variable
2015-06-10 21:16:01 +00:00
=org-bullets-bullet-list= . By default the list is set to =("◉" "○" "✸" "✿")= .
2015-06-10 16:44:30 +00:00
#+BEGIN_SRC emacs-lisp
(setq org-bullets-bullet-list '("■" "◆" "▲" "▶"))
#+END_SRC
* Key bindings
2015-10-14 03:59:35 +00:00
** Org
2015-10-30 11:20:58 +00:00
2015-10-12 18:22:32 +00:00
| Key Binding | Description |
|-------------+--------------------------------|
| ~SPC a o #~ | org agenda list stuck projects |
| ~SPC a o /~ | org occur in agenda files |
| ~SPC a o a~ | org agenda list |
| ~SPC a o c~ | org capture |
| ~SPC a o e~ | org store agenda views |
| ~SPC a o l~ | org store link |
| ~SPC a o m~ | org tags view |
| ~SPC a o o~ | org agenda |
| ~SPC a o O~ | org clock out |
| ~SPC a o s~ | org search view |
| ~SPC a o t~ | org todo list |
| ~SPC C c~ | org-capture |
| ~SPC C t~ | ort/capture-todo |
| ~SPC C T~ | ort/capture-checkitem |
** Org with evil-org-mode
2015-10-30 11:20:58 +00:00
2015-06-20 14:14:06 +00:00
| Key Binding | Description |
|----------------------------------------------+----------------------------------------------|
2015-11-05 16:33:46 +00:00
| ~SPC m <dotspacemacs-major-mode-leader-key>~ | org-ctrl-c-ctrl-c |
| ~SPC m *~ | org-ctrl-c-star |
| ~SPC m RET~ | org-ctrl-c-ret |
| ~SPC m -~ | org-ctrl-c-minus |
2016-02-29 09:23:14 +00:00
| ~SPC m ' ~ | org-edit-special |
2015-11-05 16:33:46 +00:00
| ~SPC m ^~ | org-sort |
| ~SPC m /~ | org-sparse-tree |
2015-09-16 20:08:55 +00:00
| ~SPC m .~ | org-time-stamp |
2015-12-07 10:39:15 +00:00
| ~SPC m !~ | org-time-stamp-inactive |
2015-06-20 14:14:06 +00:00
| ~SPC m a~ | org-agenda |
| ~SPC m b~ | org-tree-to-indirect-buffer |
| ~SPC m A~ | org-archive-subtree |
| ~SPC m c~ | org-capture |
| ~SPC m C~ | evil-org-recompute-clocks |
| ~SPC m d~ | org-deadline |
2016-01-04 04:52:35 +00:00
| ~SPC m D~ | org-insert-drawer |
2015-06-20 14:14:06 +00:00
| ~SPC m e~ | org-export-dispatch |
| ~SPC m f~ | org-set-effort |
| ~SPC m I~ | org-clock-in |
2015-09-20 12:15:11 +00:00
| ~SPC m l~ | org-open-at-point |
2015-06-20 14:14:06 +00:00
| ~SPC m n~ | org-narrow-to-subtree |
| ~SPC m N~ | widen |
| ~SPC m O~ | org-clock-out |
2015-11-07 20:33:05 +00:00
| ~SPC m P~ | org-set-property |
2015-06-20 14:14:06 +00:00
| ~SPC m q~ | org-clock-cancel |
| ~SPC m R~ | org-refile |
| ~SPC m s~ | org-schedule |
| ~SPC m T~ | org-show-todo-tree |
2015-12-06 06:14:53 +00:00
| ~SPC m L~ | org-shiftright |
2015-09-16 20:08:55 +00:00
| ~SPC m H~ | org-shiftleft |
2015-12-03 00:40:47 +00:00
| ~SPC m K~ | org-shiftup |
2015-12-06 06:14:53 +00:00
| ~SPC m J~ | org-shiftdown |
2015-09-16 20:08:55 +00:00
| ~SPC m C-S-l~ | org-shiftcontrolright |
| ~SPC m C-S-h~ | org-shiftcontrolleft |
| ~SPC m C-S-j~ | org-shiftcontroldown |
| ~SPC m C-S-k~ | org-shiftcontrolup |
2015-12-07 12:12:10 +00:00
| ~SPC s j~ | spacemacs/jump-in-buffer (jump to a heading) |
2015-06-10 16:44:30 +00:00
2015-10-14 03:59:35 +00:00
*** Tables
2015-10-30 11:20:58 +00:00
2015-09-10 02:11:15 +00:00
| Key Binding | Description |
|---------------+----------------------------------------------------------------------------|
| ~SPC m t a~ | Align the table at point by aligning all vertical bars |
| ~SPC m t b~ | Blank the current table field or active region |
2016-01-09 20:52:40 +00:00
| ~SPC m t c~ | Convert from =org-mode= table to table.el and back |
2015-09-10 02:11:15 +00:00
| ~SPC m t d c~ | Delete a column from the table |
| ~SPC m t d r~ | Delete the current row or horizontal line from the table |
| ~SPC m t e~ | Replace the table field value at the cursor by the result of a calculation |
| ~SPC m t E~ | Export table to a file, with configurable format |
| ~SPC m t h~ | Go to the previous field in the table |
| ~SPC m t H~ | Move column to the left |
| ~SPC m t i c~ | Insert a new column into the table |
| ~SPC m t i h~ | Insert a horizontal-line below the current line into the table |
| ~SPC m t i H~ | Insert a hline and move to the row below that line |
| ~SPC m t i r~ | Insert a new row above the current line into the table |
| ~SPC m t I~ | Import a file as a table |
| ~SPC m t j~ | Go to the next row (same column) in the current table |
| ~SPC m t J~ | Move table row down |
| ~SPC m t K~ | Move table row up |
| ~SPC m t l~ | Go to the next field in the current table, creating new lines as needed |
| ~SPC m t L~ | Move column to the right |
| ~SPC m t n~ | Query for a size and insert a table skeleton |
| ~SPC m t N~ | Use the table.el package to insert a new table |
| ~SPC m t p~ | Plot the table using org-plot/gnuplot |
| ~SPC m t r~ | Recalculate the current table line by applying all stored formulas |
| ~SPC m t s~ | Sort table lines according to the column at point |
| ~SPC m t t f~ | Toggle the formula debugger in tables |
| ~SPC m t t o~ | Toggle the display of Row/Column numbers in tables |
| ~SPC m t w~ | Wrap several fields in a column like a paragraph |
2015-09-16 20:08:55 +00:00
2015-10-14 03:59:35 +00:00
*** Tree
2015-10-30 11:20:58 +00:00
2015-09-16 20:08:55 +00:00
| Key Binding | Description |
|-------------+-----------------------|
| ~SPC m S l~ | org-demote-subtree |
| ~SPC m S h~ | org-promote-subtree |
| ~SPC m S k~ | org-move-subtree-up |
| ~SPC m S j~ | org-move-subtree-down |
2015-06-10 16:44:30 +00:00
| Key Binding | Description |
|-------------+---------------------------------|
| ~TAB~ | org-cycle |
| ~$~ | org-end-of-line |
| ~^~ | org-beginning-of-line |
| ~<~ | org-metaleft |
| ~>~ | org-metaright |
| ~gh~ | outline-up-heading |
| ~gj~ | org-forward-heading-same-level |
| ~gk~ | org-backward-heading-same-level |
| ~gl~ | outline-next-visible-heading |
| ~t~ | org-todo |
| ~T~ | org-insert-todo-heading nil |
2015-12-06 06:14:53 +00:00
| ~H~ | org-beginning-of-line |
| ~L~ | org-end-of-line |
2015-06-10 16:44:30 +00:00
| ~o~ | always-insert-item |
| ~O~ | org-open-above |
| Key Binding | Description |
|-------------+--------------------------------------------|
2015-12-06 06:14:53 +00:00
| ~M-l~ | org-metaright |
2015-06-10 16:44:30 +00:00
| ~M-h~ | org-metaleft |
| ~M-k~ | org-metaup |
| ~M-j~ | org-metadown |
| ~M-L~ | org-shiftmetaright |
| ~M-H~ | org-shiftmetaleft |
| ~M-K~ | org-shiftmetaup |
| ~M-J~ | org-shiftmetadown |
| ~M-o~ | org-insert-heading+org-metaright |
| ~M-t~ | org-insert-todo-heading nil+ org-metaright |
*** Element insertion
2015-10-30 11:20:58 +00:00
2015-06-10 16:44:30 +00:00
| Key Binding | Description |
|-------------+----------------------------------|
| ~SPC m h i~ | org-insert-heading-after-current |
| ~SPC m h I~ | org-insert-heading |
| ~SPC m i f~ | org-insert-footnote |
| ~SPC m i l~ | org-insert-link |
2015-10-12 12:11:41 +00:00
*** Links
2015-10-30 11:20:58 +00:00
2015-10-12 12:11:41 +00:00
| Key Binding | Description |
|-------------+-------------------|
2015-10-12 13:59:56 +00:00
| ~RET~ | org-open-at-point |
2015-10-12 12:11:41 +00:00
2015-10-14 03:59:35 +00:00
*** Emphasis
2015-10-30 11:20:58 +00:00
2015-06-10 16:44:30 +00:00
| Key Binding | Description |
|-------------+----------------------------|
| ~SPC m x b~ | make region bold |
| ~SPC m x c~ | make region code |
| ~SPC m x i~ | make region italic |
| ~SPC m x r~ | clear region emphasis |
| ~SPC m x s~ | make region strike-through |
| ~SPC m x u~ | make region underline |
| ~SPC m x v~ | make region verbose |
2015-06-16 15:45:02 +00:00
*** Tagging
2015-10-30 11:20:58 +00:00
2015-06-16 15:45:02 +00:00
| Key Binding | Description |
|-------------+--------------|
| ~SPC m :~ | org-set-tags |
2015-10-12 12:11:41 +00:00
2016-01-08 09:25:24 +00:00
*** Navigating in calendar
| Key Binding | Description |
|-------------+--------------------|
| ~M-l~ | One day forward |
| ~M-h~ | One day backward |
| ~M-j~ | One week forward |
| ~M-k~ | One week backward |
| ~M-L~ | One month forward |
| ~M-H~ | One month backward |
| ~M-J~ | One year forward |
| ~M-K~ | One year backward |
2016-01-19 06:21:34 +00:00
** Capture buffers and src blocks
=org-capture-mode= and =org-src-mode= both support the confirm and abort
conventions.
| Key Binding | Description |
|----------------------------------------------+----------------------------------------|
| ~SPC m <dotspacemacs-major-mode-leader-key>~ | confirm in =org-capture-mode= |
2016-02-29 09:23:14 +00:00
| ~SPC m ' ~ | confirm in =org-src-mode= |
2016-01-19 06:21:34 +00:00
| ~SPC m c~ | confirm |
| ~SPC m a~ | abort |
| ~SPC m k~ | abort |
| ~SPC m r~ | org-capture-refile in org-capture-mode |
2015-11-17 18:52:20 +00:00
** Org agenda
2016-02-20 14:30:18 +00:00
*** Keybindings
The evilified org agenda supports the following bindings:
| Key Binding | Description |
|----------------------+-------------------------------|
| ~M-SPC~ or ~s-M-SPC~ | org-agenda transient state |
| ~SPC m :~ | org-agenda-set-tags |
| ~SPC m a~ | org-agenda |
| ~SPC m d~ | org-agenda-deadline |
| ~SPC m f~ | org-agenda-set-effort |
| ~SPC m I~ | org-agenda-clock-in |
| ~SPC m O~ | org-agenda-clock-out |
| ~SPC m P~ | org-agenda-set-property |
| ~SPC m q~ | org-agenda-refile |
| ~SPC m Q~ | org-agenda-clock-cancel |
| ~SPC m s~ | org-agenda-schedule |
| ~M-j~ | next item |
| ~M-k~ | previous item |
| ~M-h~ | earlier view |
| ~M-l~ | later view |
| ~gr~ | refresh |
| ~gd~ | toggle grid |
| ~C-v~ | change view |
| ~RET~ | org-agenda-goto |
| ~M-RET~ | org-agenda-show-and-scroll-up |
*** Org agenda transient state
Use ~M-SPC~ or ~s-M-SPC~ in an org agenda buffer to activate its transient state.
The transient state aims to list the most useful org agenda commands and
visually organize them by category. The commands associated with each binding
are listed bellow.
| Keybinding | Description | Command |
|-------------+---------------------+-----------------------------------|
| Entry | | |
|-------------+---------------------+-----------------------------------|
| ~ht~ | set status | org-agenda-todo |
| ~hk~ | kill | org-agenda-kill |
| ~hr~ | refile | org-agenda-refile |
| ~hA~ | archive | org-agenda-archive-default |
| ~hT~ | set tags | org-agenda-set-tags |
| ~hp~ | set priority | org-agenda-priority |
|-------------+---------------------+-----------------------------------|
| Visit entry | | |
|-------------+---------------------+-----------------------------------|
| ~SPC~ | in other window | org-agenda-show-and-scroll-up |
| ~TAB~ | & go to location | org-agenda-goto |
| ~RET~ | & del other windows | org-agenda-switch-to |
| ~o~ | link | link-hint-open-link |
|-------------+---------------------+-----------------------------------|
| Filter | | |
|-------------+---------------------+-----------------------------------|
| ~ft~ | by tag | org-agenda-filter-by-tag |
| ~fr~ | refine by tag | org-agenda-filter-by-tag-refine |
| ~fc~ | by category | org-agenda-filter-by-category |
| ~fh~ | by top headline | org-agenda-filter-by-top-headline |
| ~fx~ | by regexp | org-agenda-filter-by-regexp |
| ~fd~ | delete all filters | org-agenda-filter-remove-all |
|-------------+---------------------+-----------------------------------|
| Date | | |
|-------------+---------------------+-----------------------------------|
| ~ds~ | schedule | org-agenda-schedule |
| ~dd~ | set deadline | org-agenda-deadline |
| ~dt~ | timestamp | org-agenda-date-prompt |
| ~+~ | do later | org-agenda-do-date-later |
| ~-~ | do earlier | org-agenda-do-date-earlier |
|-------------+---------------------+-----------------------------------|
| Toggle | | |
|-------------+---------------------+-----------------------------------|
| ~tf~ | follow | org-agenda-follow-mode |
| ~tl~ | log | org-agenda-log-mode |
| ~ta~ | archive | org-agenda-archives-mode |
| ~tr~ | clock report | org-agenda-clockreport-mode |
| ~td~ | diaries | org-agenda-toggle-diary |
|-------------+---------------------+-----------------------------------|
| View | | |
|-------------+---------------------+-----------------------------------|
| ~vd~ | day | org-agenda-day-view |
| ~vw~ | week | org-agenda-week-view |
| ~vt~ | fortnight | org-agenda-fortnight-view |
| ~vm~ | month | org-agenda-month-view |
| ~vy~ | year | org-agenda-year-view |
| ~vn~ | next span | org-agenda-later |
| ~vp~ | prev span | org-agenda-earlier |
| ~vr~ | reset | org-agenda-reset-view |
|-------------+---------------------+-----------------------------------|
| Clock | | |
|-------------+---------------------+-----------------------------------|
| ~ci~ | in | org-agenda-clock-in |
| ~co~ | out | org-agenda-clock-out |
| ~ck~ | cancel | org-agenda-clock-cancel |
| ~cj~ | jump | org-agenda-clock-goto |
|-------------+---------------------+-----------------------------------|
| Other | | |
|-------------+---------------------+-----------------------------------|
| ~gr~ | reload | org-agenda-redo |
| ~.~ | go to today | org-agenda-goto-today |
| ~gd~ | go to date | org-agenda-goto-date |
2015-11-17 18:52:20 +00:00
2015-06-10 16:44:30 +00:00
** Pomodoro
2015-10-30 11:20:58 +00:00
2015-06-10 16:44:30 +00:00
| Key Binding | Description |
|-------------+-------------------|
| ~SPC m p~ | starts a pomodoro |
** Presentation
2016-02-07 13:39:54 +00:00
org-present must be activated explicitly by typing: ~SPC SPC org-present~
2015-06-10 16:44:30 +00:00
| Key Binding | Description |
|-------------+----------------|
| ~h~ | previous slide |
| ~l~ | next slide |
| ~q~ | quit |
** Org-repo-todo
2015-10-30 11:20:58 +00:00
2015-10-12 18:22:32 +00:00
| Key Binding | Description |
|-------------+----------------|
| ~SPC m g t~ | ort/goto-todos |
2015-09-17 07:45:50 +00:00
** Org-MIME
2015-10-30 11:20:58 +00:00
2015-10-14 03:59:35 +00:00
| Key Binding | Description |
|-------------+---------------------------------------------------|
| ~SPC m M~ | in =message-mode= buffers convert into html email |
| ~SPC m m~ | send current buffer as HTML email message |