298 lines
14 KiB
Org Mode
298 lines
14 KiB
Org Mode
#+TITLE: Org layer
|
|
#+HTML_HEAD_EXTRA: <link rel="stylesheet" type="text/css" href="../../css/readtheorg.css" />
|
|
|
|
[[file:img/org.png]]
|
|
|
|
* Table of Contents :TOC_4_org:noexport:
|
|
- [[Description][Description]]
|
|
- [[Features:][Features:]]
|
|
- [[Important Note][Important Note]]
|
|
- [[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]]
|
|
- [[Org agenda][Org agenda]]
|
|
- [[Pomodoro][Pomodoro]]
|
|
- [[Presentation][Presentation]]
|
|
- [[Org-repo-todo][Org-repo-todo]]
|
|
- [[Org-MIME][Org-MIME]]
|
|
|
|
* Description
|
|
This layer enables [[http://orgmode.org/][org mode]] for Spacemacs.
|
|
|
|
** Features:
|
|
- 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]]
|
|
-
|
|
** Important Note
|
|
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
|
|
will be loaded and will conflict.
|
|
|
|
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:
|
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
(with-eval-after-load 'org
|
|
;; here goes your Org config :)
|
|
;; ....
|
|
)
|
|
#+END_SRC
|
|
|
|
* Install
|
|
** Layer
|
|
To use this contribution add it to your =~/.spacemacs=
|
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
(setq-default dotspacemacs-configuration-layers '(org))
|
|
#+END_SRC
|
|
|
|
** Github support
|
|
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=.
|
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
(setq-default dotspacemacs-configuration-layers '(
|
|
(org :variables
|
|
org-enable-github-support t)))
|
|
#+END_SRC
|
|
|
|
** 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
|
|
as usual by adding the package =gnuplot= to your =dotspacemacs-excluded-packages=
|
|
variable.
|
|
|
|
** Different bullets
|
|
You can tweak the bullets displayed in the org buffer in the function
|
|
=dotspacemacs/user-config= of your dotfile by setting the variable
|
|
=org-bullets-bullet-list=. By default the list is set to =("◉" "○" "✸" "✿")=.
|
|
|
|
#+BEGIN_SRC emacs-lisp
|
|
(setq org-bullets-bullet-list '("■" "◆" "▲" "▶"))
|
|
#+END_SRC
|
|
|
|
* Key bindings
|
|
** Org
|
|
|
|
| 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
|
|
|
|
| Key Binding | Description |
|
|
|----------------------------------------------+----------------------------------------------|
|
|
| ~SPC m <dotspacemacs-major-mode-leader-key>~ | org-ctrl-c-ctrl-c |
|
|
| ~SPC m *~ | org-ctrl-c-star |
|
|
| ~SPC m RET~ | org-ctrl-c-ret |
|
|
| ~SPC m -~ | org-ctrl-c-minus |
|
|
| ~SPC m '~ | org-edit-special |
|
|
| ~SPC m ^~ | org-sort |
|
|
| ~SPC m /~ | org-sparse-tree |
|
|
| ~SPC m .~ | org-time-stamp |
|
|
| ~SPC m a~ | org-agenda |
|
|
| ~SPC m b~ | org-tree-to-indirect-buffer |
|
|
| ~SPC m A~ | org-archive-subtree |
|
|
| ~SPC m c~ | org-capture |
|
|
| ~SPC m C~ | evil-org-recompute-clocks |
|
|
| ~SPC m d~ | org-deadline |
|
|
| ~SPC m e~ | org-export-dispatch |
|
|
| ~SPC m f~ | org-set-effort |
|
|
| ~SPC m I~ | org-clock-in |
|
|
| ~SPC m l~ | org-open-at-point |
|
|
| ~SPC m n~ | org-narrow-to-subtree |
|
|
| ~SPC m N~ | widen |
|
|
| ~SPC m O~ | org-clock-out |
|
|
| ~SPC m P~ | org-set-property |
|
|
| ~SPC m q~ | org-clock-cancel |
|
|
| ~SPC m R~ | org-refile |
|
|
| ~SPC m s~ | org-schedule |
|
|
| ~SPC m T~ | org-show-todo-tree |
|
|
| ~SPC m H~ | org-shiftleft |
|
|
| ~SPC m J~ | org-shiftdown |
|
|
| ~SPC m K~ | org-shiftup |
|
|
| ~SPC m L~ | org-shiftright |
|
|
| ~SPC m C-S-l~ | org-shiftcontrolright |
|
|
| ~SPC m C-S-h~ | org-shiftcontrolleft |
|
|
| ~SPC m C-S-j~ | org-shiftcontroldown |
|
|
| ~SPC m C-S-k~ | org-shiftcontrolup |
|
|
| ~SPC s l~ | spacemacs/jump-in-buffer (jump to a heading) |
|
|
|
|
*** Tables
|
|
|
|
| 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 |
|
|
| ~SPC m t c~ | Convert from `org-mode' table to table.el and back |
|
|
| ~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 |
|
|
|
|
*** Tree
|
|
|
|
| Key Binding | Description |
|
|
|-------------+-----------------------|
|
|
| ~SPC m S l~ | org-demote-subtree |
|
|
| ~SPC m S h~ | org-promote-subtree |
|
|
| ~SPC m S k~ | org-move-subtree-up |
|
|
| ~SPC m S j~ | org-move-subtree-down |
|
|
|
|
| Key Binding | Description |
|
|
|-------------+---------------------------------|
|
|
| ~TAB~ | org-cycle |
|
|
| ~$~ | org-end-of-line |
|
|
| ~^~ | org-beginning-of-line |
|
|
| ~<~ | org-metaleft |
|
|
| ~>~ | org-metaright |
|
|
| ~gh~ | outline-up-heading |
|
|
| ~gj~ | org-forward-heading-same-level |
|
|
| ~gk~ | org-backward-heading-same-level |
|
|
| ~gl~ | outline-next-visible-heading |
|
|
| ~t~ | org-todo |
|
|
| ~T~ | org-insert-todo-heading nil |
|
|
| ~H~ | org-shiftleft |
|
|
| ~J~ | org-shiftdown |
|
|
| ~K~ | org-shiftup |
|
|
| ~L~ | org-shiftright |
|
|
| ~o~ | always-insert-item |
|
|
| ~O~ | org-open-above |
|
|
|
|
| Key Binding | Description |
|
|
|-------------+--------------------------------------------|
|
|
| ~M-h~ | org-metaleft |
|
|
| ~M-k~ | org-metaup |
|
|
| ~M-j~ | org-metadown |
|
|
| ~M-l~ | org-metaright |
|
|
| ~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
|
|
|
|
| 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 |
|
|
|
|
*** Links
|
|
|
|
| Key Binding | Description |
|
|
|-------------+-------------------|
|
|
| ~RET~ | org-open-at-point |
|
|
|
|
*** Emphasis
|
|
|
|
| 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 |
|
|
|
|
*** Tagging
|
|
|
|
| Key Binding | Description |
|
|
|-------------+--------------|
|
|
| ~SPC m :~ | org-set-tags |
|
|
|
|
** Org agenda
|
|
The evilified org agenda supports, among others, the following bindings:
|
|
|
|
| Key Binding | Description |
|
|
|-------------+---------------|
|
|
| ~M-h~ | earlier view |
|
|
| ~M-j~ | next item |
|
|
| ~M-k~ | previous item |
|
|
| ~M-l~ | later view |
|
|
| ~gr~ | refresh |
|
|
| ~gd~ | toggle grid |
|
|
| ~C-v~ | change view |
|
|
|
|
** Pomodoro
|
|
|
|
| Key Binding | Description |
|
|
|-------------+-------------------|
|
|
| ~SPC m p~ | starts a pomodoro |
|
|
|
|
** Presentation
|
|
org-present must be activated explicitly by typing: ~SPC : org-present~
|
|
|
|
| Key Binding | Description |
|
|
|-------------+----------------|
|
|
| ~h~ | previous slide |
|
|
| ~l~ | next slide |
|
|
| ~q~ | quit |
|
|
|
|
** Org-repo-todo
|
|
|
|
| Key Binding | Description |
|
|
|-------------+----------------|
|
|
| ~SPC m g t~ | ort/goto-todos |
|
|
|
|
** Org-MIME
|
|
|
|
| Key Binding | Description |
|
|
|-------------+---------------------------------------------------|
|
|
| ~SPC m M~ | in =message-mode= buffers convert into html email |
|
|
| ~SPC m m~ | send current buffer as HTML email message |
|