#+TITLE: Org contribution layer for Spacemacs [[file:img/org.png]] * Table of Contents :TOC@4: - [[#description][Description]] - [[#features][Features:]] - [[#install][Install]] - [[#layer][Layer]] - [[#github-support][Github support]] - [[#gnuplot-support][Gnuplot support]] - [[#different-bullets][Different bullets]] - [[#key-bindings][Key bindings]] - [[#org-with-evil-org-mode][Org with evil-org-mode]] - [[#element-insertion][Element insertion]] - [[#org-emphasize][Org emphasize]] - [[#tagging][Tagging]] - [[#pomodoro][Pomodoro]] - [[#presentation][Presentation]] - [[#org-repo-todo][Org-repo-todo]] * 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]] * 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/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 with evil-org-mode | Key Binding | Description | |----------------------------------------------+----------------------------------------------| | ~SPC m '~ | org-edit-special | | ~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~ | evil-org-open-links | | ~SPC m n~ | org-narrow-to-subtree | | ~SPC m N~ | widen | | ~SPC m ~ | org-ctrl-c-ctrl-c | | ~SPC m O~ | org-clock-out | | ~SPC m q~ | org-clock-cancel | | ~SPC m R~ | org-refile | | ~SPC m s~ | org-schedule | | ~SPC m T~ | org-show-todo-tree | | ~SPC s l~ | spacemacs/jump-in-buffer (jump to a heading) | Table-related shortcuts: | 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 | | | | | 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-beginning-of-line | | ~L~ | org-end-of-line | | ~o~ | always-insert-item | | ~O~ | org-open-above | | Key Binding | Description | |-------------+--------------------------------------------| | ~M-l~ | org-metaright | | ~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 | 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 | *** Org emphasize | 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 | ** 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 C c~ | org-capture | | ~SPC C t~ | ort/capture-todo | | ~SPC C T~ | ort/capture-todo-check | | ~SPC m g t~ | ort/goto-todos |