1130 lines
56 KiB
Org Mode
1130 lines
56 KiB
Org Mode
#+TITLE: Org layer
|
||
|
||
#+TAGS: emacs|layer
|
||
|
||
[[file:img/org.png]]
|
||
|
||
* Table of Contents :TOC_5_gh:noexport:
|
||
- [[#description][Description]]
|
||
- [[#features][Features:]]
|
||
- [[#bibtex][BibTeX]]
|
||
- [[#important-note][Important Note]]
|
||
- [[#install][Install]]
|
||
- [[#layer][Layer]]
|
||
- [[#todo-dependencies][=TODO= dependencies]]
|
||
- [[#agenda-notifications][Agenda notifications]]
|
||
- [[#agenda-recommendations][Agenda recommendations]]
|
||
- [[#github-support][GitHub support]]
|
||
- [[#twitter-bootstrap-support][Twitter Bootstrap support]]
|
||
- [[#gnuplot-support][Gnuplot support]]
|
||
- [[#revealjs-support][Reveal.js support]]
|
||
- [[#org-contacts-support][Org-contacts support]]
|
||
- [[#v-card-importexport][V-Card import/export]]
|
||
- [[#org-journal-support][Org-journal support]]
|
||
- [[#hugo-support][Hugo support]]
|
||
- [[#trello-support][Trello support]]
|
||
- [[#different-bullets][Different bullets]]
|
||
- [[#project-support][Project support]]
|
||
- [[#org-brain-support][Org-brain support]]
|
||
- [[#org-roam-support][Org-roam support]]
|
||
- [[#org-roam-server-support][Org-roam-server support]]
|
||
- [[#org-roam-protocol-support][Org-roam-protocol support]]
|
||
- [[#mode-line-support][Mode line support]]
|
||
- [[#sticky-header-support][Sticky header support]]
|
||
- [[#epub-support][Epub support]]
|
||
- [[#jira-support][Jira support]]
|
||
- [[#valign-support][Valign support]]
|
||
- [[#org-appear-support][Org-appear support]]
|
||
- [[#verb-support][Verb support]]
|
||
- [[#asciidoc-support][AsciiDoc support]]
|
||
- [[#spacemacs-layout-integration][Spacemacs layout integration]]
|
||
- [[#key-bindings][Key bindings]]
|
||
- [[#starting-org-mode][Starting org-mode]]
|
||
- [[#toggles][Toggles]]
|
||
- [[#org-mode][Org-mode]]
|
||
- [[#org-with-evil-org-mode][Org with evil-org-mode]]
|
||
- [[#tables][Tables]]
|
||
- [[#trees][Trees]]
|
||
- [[#element-insertion][Element insertion]]
|
||
- [[#links][Links]]
|
||
- [[#babel--source-blocks][Babel / Source Blocks]]
|
||
- [[#org-babel-transient-state][Org Babel Transient State]]
|
||
- [[#emphasis][Emphasis]]
|
||
- [[#navigating-in-calendar][Navigating in calendar]]
|
||
- [[#capture-buffers-and-src-blocks][Capture buffers and src blocks]]
|
||
- [[#org-agenda][Org agenda]]
|
||
- [[#key-bindings-1][Key bindings]]
|
||
- [[#org-agenda-transient-state][Org agenda transient state]]
|
||
- [[#pomodoro][Pomodoro]]
|
||
- [[#presentation][Presentation]]
|
||
- [[#helm-org-rifle][Helm-org-rifle]]
|
||
- [[#org-projectile][Org-projectile]]
|
||
- [[#org-journal][Org-journal]]
|
||
- [[#org-brain][Org-brain]]
|
||
- [[#application-bindings][Application bindings]]
|
||
- [[#org-mode-bindings][org-mode bindings]]
|
||
- [[#visualization-bindings][Visualization bindings]]
|
||
- [[#org-jira][Org-jira]]
|
||
- [[#verb][Verb]]
|
||
- [[#verb-mode-bindings][Verb-mode bindings]]
|
||
- [[#verb-response-body-mode-bindings][Verb-response-body-mode bindings]]
|
||
- [[#verb-response-headers-mode-bindings][Verb-response-headers-mode bindings]]
|
||
- [[#org-roam][Org-roam]]
|
||
|
||
* Description
|
||
This layer enables [[http://orgmode.org/][org mode]] for Spacemacs.
|
||
|
||
** Features:
|
||
- Vim inspired key bindings are provided by [[https://github.com/Somelauw/evil-org-mode][evil-org-mode]]
|
||
- Nicer bullet via [[https://github.com/integral-dw/org-superstar-mode][org-superstar-mode]]
|
||
- A [[https://cirillocompany.de/pages/pomodoro-technique][pomodoro method]] integration via [[https://github.com/lolownia/org-pomodoro][org-pomodoro]]
|
||
- Presentation mode via [[https://github.com/rlister/org-present][org-present]]
|
||
- Insertion of images via [[https://github.com/abo-abo/org-download][org-download]]
|
||
- Project-specific TODOs via [[https://github.com/IvanMalison/org-projectile][org-projectile]]
|
||
- Easy insert of URLs from clipboard with org format via [[https://github.com/rexim/org-cliplink][org-cliplink]]
|
||
- Rich insert of code (into a source block with highlighting, and a link) from other buffers via [[https://github.com/unhammer/org-rich-yank][org-rich-yank]]
|
||
- Pixel-perfect visual alignment for Org and Markdown tables via [[https://github.com/casouri/valign][valign]]
|
||
|
||
* BibTeX
|
||
For more extensive support of references through BibTeX files, have a look at
|
||
the [[https://github.com/syl20bnr/spacemacs/blob/develop/layers/+lang/bibtex/README.org][BibTeX layer]].
|
||
|
||
* 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 which 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
|
||
|
||
Please also note that everything described here only applies if you install this
|
||
layer instead of manually loading =org= as separate emacs package.
|
||
|
||
If this is not done you will encounter a lot of unbind key exceptions while working with org.
|
||
More details can be found [[https://github.com/syl20bnr/spacemacs/issues/8106][here]].
|
||
|
||
* Install
|
||
** Layer
|
||
To use this configuration layer: in the main Spacemacs configuration
|
||
file (=~/.spacemacs=), to the existing =dotspacemacs-configuration-layers= list
|
||
add the =org= entry.
|
||
|
||
** =TODO= dependencies
|
||
If you would like to enforce dependencies in your =TODO= hierarchy, this layer has
|
||
some sane default configurations to try via its ~org-todo-dependencies-strategy~
|
||
configuration variable.
|
||
|
||
Setting it to ~'naive-auto~, will cause an entry to switch to =DONE= when all its
|
||
subentries are done, and to =TODO= otherwise. This does not result in extra
|
||
prompts for the user, but doesn't work well with more workflow states because of
|
||
the literal =DONE= and =TODO=; it is an excellent place for beginners and
|
||
minimalists:
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers '(
|
||
(org :variables
|
||
org-todo-dependencies-strategy 'naive-auto)))
|
||
#+END_SRC
|
||
|
||
Setting it to ~'semiauto~, will cause the user to be prompted to change an entry's
|
||
state when the state of the subentries imply it: that is, when they are either
|
||
all done while it is still a todo, or the when they are all still todo's while
|
||
it is done. This assumes next to nothing about your workflow states (it does not
|
||
use literal =TODO= and =DONE=), but may result in additional, possibly surprising,
|
||
prompting for the user; and it has no intelligence to attempt to determine the
|
||
destination state. It is a good thing to try if ~'naive-auto~ does not accomplish
|
||
what you need:
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers '(
|
||
(org :variables
|
||
org-todo-dependencies-strategy 'naive-auto)))
|
||
#+END_SRC
|
||
|
||
If neither of these suffice for you, =org-mode= can be configured directly by
|
||
setting ~org-enforce-todo-dependencies~ to ~t~ and writing your own function to
|
||
register on the ~org-after-todo-statistics-hook~. The layer implementation is a
|
||
good reference.
|
||
|
||
** Agenda notifications
|
||
To enable notifications for agenda events, set the variable
|
||
=org-enable-notifications= to =t=.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers '(
|
||
(org :variables
|
||
org-enable-notifications t
|
||
org-start-notification-daemon-on-startup t)))
|
||
#+END_SRC
|
||
|
||
This will install and configure the [[https://github.com/akhramov/org-wild-notifier.el][org-wild-notifier]] package. After install,
|
||
run the =org-wild-notifier-mode= to start the =org-wild-notifier= notification
|
||
daemon. To start the notification daemon automatically on Spacemacs startup, set
|
||
the variable =org-start-notification-daemon-on-startup= to =t= as shown in the
|
||
code snippet above.
|
||
|
||
Documentation for how org-wild-notifier can be configured is provided [[https://github.com/akhramov/org-wild-notifier.el#configuration][here]]
|
||
(org-wild-notifier uses the [[https://melpa.org/#/alert][alert]] package for showing notifications. On
|
||
GNU/linux and Windows, using alert's [[https://github.com/jwiegley/alert#builtin-alert-styles][notifications]] style is recommended. Note
|
||
also [[https://github.com/jwiegley/alert/pull/94][this issue]]).
|
||
|
||
Press =M-S RET= to enter a todo headline and then press =, d t= to add a
|
||
timestamp to the headline (using =, d t= requires the =diary-file= variable to
|
||
point to an existing file, see [[#agenda-recommendations][Agenda recommendations]]. You can also use the
|
||
=org-journal-new-scheduled-entry= that becomes available by enabling [[#org-journal-support][org-journal
|
||
support]]). By default, the =org-wild-notifier= package will scan your
|
||
=org-agenda-files= (every minute) for =TODO= headlines that include a timestamp
|
||
(configuration options are documented [[https://github.com/akhramov/org-wild-notifier.el#configuration][here]]). The default configuration shows a
|
||
notification 10 minutes before the event using the [[https://melpa.org/#/alert][alert]] package. The default
|
||
behavior can be configured via the =org-wild-notifier-alert-time= variable. The
|
||
notification type can be configured via the [[https://github.com/jwiegley/alert#for-users][the alert package its configuration
|
||
settings]]. Additional notification times can be added using the
|
||
[[https://github.com/akhramov/org-wild-notifier.el#configuration][:WILD_NOTIFIER_NOTIFY_BEFORE:]] keyword (*note* that [[https://github.com/akhramov/org-wild-notifier.el/issues/46][this additionally requires a
|
||
=SCHEDULED:= stamp)]]. Properties can be added with =, i p=.
|
||
|
||
** Agenda recommendations
|
||
Emacs comes with its own diary package included. It is recommended not to use
|
||
the diary directly. Instead of [[https://www.gnu.org/software/emacs/manual/html_node/emacs/Format-of-Diary-File.html][creating a diary file]], create a =diary.org=
|
||
file and set the =diary-file= variable to point to that file. To make the
|
||
holidays, birthdays etc. from the diary show up in the agenda, add the
|
||
diary-style expression entries to your =diary.org= file as shown in the code
|
||
block of the =Calendar/Diary integration= section [[https://orgmode.org/manual/Weekly_002fdaily-agenda.html][here]].
|
||
|
||
Subsequently, to add appointments to the agenda you could use the following
|
||
syntax:
|
||
|
||
#+BEGIN_SRC org
|
||
* Friday, 04/02/2021
|
||
** Appointment 1
|
||
<2021-04-02 Fri 10:10>
|
||
** TODO Appointment 2
|
||
<2021-04-02 Fri 10:11>
|
||
#+END_SRC
|
||
|
||
or just use the [[#org-journal-support][org journal system]]. Outside =org-journal= you can still use
|
||
=org-journal-insert-header-at-point= to create the date headers. In the source
|
||
block above, the first appointment will just show up in the agenda. If
|
||
=org-wild-notifier= is configured, then the second appointment will also trigger
|
||
a notification 10 minutes (by default) before its due time (see [[#agenda-notifications][Agenda
|
||
notifications]]).
|
||
|
||
** 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
|
||
|
||
** Twitter Bootstrap support
|
||
To enable the export to Twitter Bootstrap-formatted HTML - set
|
||
the variable =org-enable-bootstrap-support= to =t=.
|
||
This would install the [[https://github.com/marsmining/ox-twbs][ox-twbs]] extension.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers '(
|
||
(org :variables
|
||
org-enable-bootstrap-support t)))
|
||
#+END_SRC
|
||
|
||
** Gnuplot support
|
||
Org-mode supports 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. To disable the configuration of gnuplot support - add
|
||
the =gnuplot= package to your =dotspacemacs-excluded-packages= variable.
|
||
|
||
** Reveal.js support
|
||
To enable the export of org files as a [[http://lab.hakim.se/reveal-js/][reveal.js]] presentation - set the
|
||
variable =org-enable-reveal-js-support= to =t=.
|
||
This would install the [[https://gitlab.com/oer/org-re-reveal/][org-re-reveal]] Emacs extension.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers
|
||
'((org :variables org-enable-reveal-js-support t)))
|
||
#+END_SRC
|
||
|
||
Then the extension needs to be pointed to the =reveal.js= itself.
|
||
So [[https://github.com/hakimel/reveal.js/releases][download]] =reveal.js= and point =org-re-reveal-root= to the path,
|
||
as it described in the [[https://gitlab.com/oer/org-re-reveal#set-the-location-of-revealjs][manual]].
|
||
|
||
Alternatively, add the following line to each =.org= file you want to process:
|
||
|
||
#+BEGIN_EXAMPLE
|
||
#+REVEAL_ROOT: https://cdn.jsdelivr.net/npm/reveal.js@3.8.0
|
||
#+END_EXAMPLE
|
||
|
||
** Org-contacts support
|
||
[[https://github.com/tkf/org-mode/blob/master/contrib/lisp/org-contacts.el][org-contacts]] is a handy contacts management system. It can be used to manage
|
||
(email) addresses (compatible with gnus, mu4e, notmuch etc.), birthdays and
|
||
more. It is simpler than bbdb/ebdb and probably powerful enough for most users.
|
||
|
||
To install org-contacts, set the variable =org-enable-org-contacts-support= to
|
||
=t=. Optionally, also set the variable =org-contacts-files= and add a capture
|
||
template. The value of the =org-contacts-files= variable should be a list with
|
||
filenames to use as contact sources. If set to =nil= (default) then all your Org
|
||
files will be used. The first file in the =org-contacts-files= list can be
|
||
visited with the keyboard shortcut ~SPC a o C f~.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(org :variables org-enable-org-contacts-support t
|
||
org-contacts-files '("~/Org/contacts.org" "~/Org/file2.org")
|
||
org-capture-templates '(("c" "Contacts" entry (file "~/Org/contacts.org")
|
||
"* %(org-contacts-template-name)
|
||
:PROPERTIES:
|
||
:EMAIL: %(org-contacts-template-email)
|
||
:END:")))
|
||
#+END_SRC
|
||
|
||
A more elaborate capture template can be found in the =org-contacts.el= file.
|
||
|
||
Contacts can include the :BIRTHDAY: keyword. To include the birthdays in your
|
||
org-agenda add ~%%(org-contacts-anniversaries)~ to one of your contacts files.
|
||
It is important that this is inserted after a heading an that it has no
|
||
preceding whitespace. So probably the best way is to add
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
* Birthdays
|
||
%%(org-contacts-anniversaries)
|
||
#+END_SRC
|
||
|
||
to the beginning or the end of one of your contacts files.
|
||
|
||
*** V-Card import/export
|
||
Importing/exporting contacts can be done via the `org-vcard-import/export`
|
||
commands provided by the [[https://github.com/flexibeast/org-vcard][org-vcard]] package. This package gets installed
|
||
automatically after enabling org contacts support.
|
||
|
||
** Org-journal support
|
||
[[https://github.com/bastibe/org-journal][org-journal]] is a simple journal management system that:
|
||
- Keeps a separate journal file for each day inside a directory
|
||
- New daily file would always migrate entries with chosen TODO states
|
||
- Has journal encryption functionality
|
||
- Easily integrates with org-agenda and Emacs calendar, iCalendar,
|
||
allows scheduling
|
||
- Easily integrates with org-capture
|
||
|
||
To install org-journal - set the variable =org-enable-org-journal-support= to =t=.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers '(
|
||
(org :variables
|
||
org-enable-org-journal-support t)))
|
||
#+END_SRC
|
||
|
||
By default, journal files are stored in =~/Documents/journal/=. To override
|
||
this - set =org-journal-dir= variable in the =dotspacemacs/user-config=:
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq org-journal-dir "~/org/journal/")
|
||
#+END_SRC
|
||
|
||
To change the journal file name format - alter =org-journal-file-format=:
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq org-journal-file-format "%Y-%m-%d")
|
||
#+END_SRC
|
||
|
||
*Warning:* setting =org-journal-file-format= to include a file extension like
|
||
=%Y-%m-%d.org= would break the calendar search functionality.
|
||
|
||
By default, journal files are started with a first level heading (=*=) followed
|
||
by the date in the form set by locale. To format journal files differently:
|
||
- alter =org-journal-date-prefix= and =org-journal-date-format=.
|
||
For example, to have new journal files created with this header:
|
||
|
||
#+BEGIN_EXAMPLE
|
||
#+TITLE: Tuesday, September 06 2016
|
||
#+END_EXAMPLE
|
||
|
||
- define the following in =dotspacemacs/user-config=:
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq org-journal-date-prefix "#+TITLE: ")
|
||
(setq org-journal-date-format "%A, %B %d %Y")
|
||
#+END_SRC
|
||
|
||
The default entry is a second level heading (=** =) followed by a timestamp. If
|
||
you start your journal files with a Title as shown above you may want to adjust
|
||
entries to start at the first level heading and you may want to change or omit
|
||
the timestamp.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq org-journal-time-prefix "* ")
|
||
(setq org-journal-time-format "")
|
||
#+END_SRC
|
||
|
||
Any of the org-journal settings can be configured in =dotspacemacs/user-config=
|
||
or defined alongside the layer itself.
|
||
|
||
For example:
|
||
|
||
#+CAPTION: Configure org-journal with the layer
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers '(
|
||
(org :variables
|
||
org-enable-org-journal-support t
|
||
org-journal-dir "~/org/journal/"
|
||
org-journal-file-format "%Y-%m-%d"
|
||
org-journal-date-prefix "#+TITLE: "
|
||
org-journal-date-format "%A, %B %d %Y"
|
||
org-journal-time-prefix "* "
|
||
org-journal-time-format "")
|
||
)
|
||
#+END_SRC
|
||
|
||
** Hugo support
|
||
To install the Org exporter [[https://ox-hugo.scripter.co][ox-hugo]] that generates [[https://gohugo.io][Hugo]] -compatible Markdown
|
||
/plus/ TOML/YAML front-matter, set the variable =org-enable-hugo-support= to
|
||
=t=.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers '(
|
||
(org :variables
|
||
org-enable-hugo-support t)))
|
||
#+END_SRC
|
||
|
||
** Trello support
|
||
To install Trello support set the variable =org-enable-trello-support= to =t=.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers '(
|
||
(org :variables
|
||
org-enable-trello-support t)))
|
||
#+END_SRC
|
||
|
||
** 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-superstar-headline-bullets-list=. By default the list is set to =("◉" "○" "✸" "✿")=.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq org-superstar-bullet-list '("■" "◆" "▲" "▶"))
|
||
#+END_SRC
|
||
|
||
You can disable the fancy bullets entirely by adding =org-superstar= to =dotspacemacs-excluded-packages=.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(dotspacemacs-excluded-packages '(org-superstar))
|
||
#+END_SRC
|
||
|
||
** Project support
|
||
Set the layer variable =org-projectile-file= to the filename where you want to
|
||
store project-specific TODOs. If this is an absolute path, all todos will be
|
||
stored in the same file (organized by project), whereas if it is just a single
|
||
filename, todos will be stored in each project root.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers
|
||
'((org :variables org-projectile-file "TODOs.org")))
|
||
#+END_SRC
|
||
|
||
The TODO files are not added to the agenda automatically. You can do this with
|
||
the following snippet.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(with-eval-after-load 'org-agenda
|
||
(require 'org-projectile)
|
||
(mapcar '(lambda (file)
|
||
(when (file-exists-p file)
|
||
(push file org-agenda-files)))
|
||
(org-projectile-todo-files)))
|
||
#+END_SRC
|
||
|
||
** Org-brain support
|
||
For Emacs 25 or later, to install [[https://kungsgeten.github.io/org-brain.html][org-brain]] set the variable =org-enable-org-brain-support= to =t=.
|
||
|
||
See the [[https://github.com/Kungsgeten/org-brain][org-brain package documentation]] for more information.
|
||
|
||
** Org-roam support
|
||
To install org-roam support set the variable =org-enable-roam-support= to =t=.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers '(
|
||
(org :variables
|
||
org-enable-roam-support t)))
|
||
#+END_SRC
|
||
|
||
More information about org-roam package (including manual) can be found at [[https://www.orgroam.com/][Org-roam]] website.
|
||
|
||
*** Org-roam-server support
|
||
To install support for [[https://github.com/org-roam/org-roam-server][org-roam-server]] set the variable =org-enable-roam-server=
|
||
to =t=.
|
||
|
||
*** Org-roam-protocol support
|
||
To enable support for [[https://www.orgroam.com/manual.html#Org_002droam-Protocol][Org Roam Protocol]] set the variable
|
||
=org-enable-roam-protocol= to =t=.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers '(
|
||
(org :variables
|
||
org-enable-roam-protocol t)))
|
||
#+END_SRC
|
||
|
||
And create a desktop file as described in the [[https://www.orgroam.com/manual.html#Org_002droam-Protocol][org-roam manual]].
|
||
|
||
** Mode line support
|
||
To temporarily enable mode line display of org clock, press ~SPC t m c~.
|
||
|
||
To permanently enable mode line display of org clock, add this snippet to your
|
||
=dotspacemacs/user-config= function:
|
||
|
||
#+BEGIN_SRC elisp
|
||
(setq spaceline-org-clock-p t)
|
||
#+END_SRC
|
||
|
||
** Sticky header support
|
||
To install sticky header support set the variable =org-enable-sticky-header= to =t=.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers '(
|
||
(org :variables
|
||
org-enable-sticky-header t)))
|
||
#+END_SRC
|
||
|
||
** Epub support
|
||
To install the Org exporter [[https://github.com/ofosos/ox-epub][ox-epub]] that generates e-book file format [[https://en.wikipedia.org/wiki/EPUB][epub]], set
|
||
the variable =org-enable-epub-support= to =t=.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs--configuration-layers
|
||
'((org :variables
|
||
org-enable-epub-support t)))
|
||
#+END_SRC
|
||
|
||
** Jira support
|
||
To bring Jira and OrgMode together over [[https://github.com/ahungry/org-jira][org-jira]] set the variable
|
||
=org-enable-jira-support= to =t=.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers '(
|
||
(org :variables
|
||
org-enable-jira-support t
|
||
jiralib-url "https://yourcompany.atlassian.net:443")))
|
||
#+END_SRC
|
||
|
||
If you would like to avoid being prompted for your login and password each time
|
||
you connect, add your authentication credentials to =~/.authinfo.gpg= or
|
||
=~/.authinfo=:
|
||
|
||
#+BEGIN_SRC authinfo
|
||
machine yourcompany.atlassian.net login you@example.com password yourPassword port 443
|
||
#+END_SRC
|
||
|
||
** Valign support
|
||
To install [[https://github.com/casouri/valign][valign]]. Which provides:
|
||
Pixel-perfect visual alignment for Org and Markdown tables.
|
||
Set the variable =org-enable-valign= to =t=:
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers
|
||
'((org :variables org-enable-valign t)))
|
||
#+END_SRC
|
||
|
||
[[https://github.com/casouri/valign#valignel][Known problem: Rendering large tables (≥100 lines) is laggy.]]
|
||
|
||
** Org-appear support
|
||
To install [[https://github.com/awth13/org-appear][org-appear]], which toggles visibility of emphasis markers, links, subscripts, and superscripts in org mode, set the =org-enable-appear-support= to =t=:
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers
|
||
'((org :variables org-enable-appear-support t)))
|
||
#+END_SRC
|
||
|
||
** Verb support
|
||
To install [[https://github.com/federicotdn/verb][Verb]], an HTTP client based on Org mode, set the
|
||
=org-enable-verb-support= variable to =t=:
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers
|
||
'((org :variables org-enable-verb-support t)))
|
||
#+END_SRC
|
||
|
||
** AsciiDoc support
|
||
To install Org exporter [[https://github.com/yashi/org-asciidoc][ox-asciidoc]], that generates AsciiDoc documents, set the
|
||
variable =org-enable-asciidoc-support= to =t=.
|
||
|
||
#+BEGIN_SRC emacs-lisp
|
||
(setq-default dotspacemacs-configuration-layers
|
||
'((org :variables org-enable-asciidoc-support t)))
|
||
#+END_SRC
|
||
|
||
** Spacemacs layout integration
|
||
A [[https://github.com/syl20bnr/spacemacs/blob/develop/doc/DOCUMENTATION.org#layouts-and-workspaces][Spacemacs custom layout]] =@Org= is defined by the layer and accessible via =SPC l o=. The startup behavior can be customized with the following layer variables:
|
||
- =org-persp-startup-org-file= Defines the org file buffer that should be opened after startup. Defaults to the first file in =org-agenda-files=, if =org-persp-startup-org-file= is set to =nil=.
|
||
- =org-persp-startup-with-agenda= If non-nil, sets initial buffer to the specified (custom) org-agenda buffer, e.g. =(setq org-persp-startup-with-agenda "a")= opens =org-agenda-list=.
|
||
|
||
* Key bindings
|
||
** Starting org-mode
|
||
|
||
| 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 f i~ | org feed goto inbox |
|
||
| ~SPC a o f u~ | org feed update all |
|
||
| ~SPC a o C c~ | org cancel clock |
|
||
| ~SPC a o C g~ | org goto last clocked-in clock (go to specific recent clock with ~SPC u~) |
|
||
| ~SPC a o C i~ | org clock in |
|
||
| ~SPC a o C I~ | org clock in last |
|
||
| ~SPC a o C j~ | org jump to current clock |
|
||
| ~SPC a o C o~ | org clock out |
|
||
| ~SPC a o C r~ | org resolve clocks |
|
||
| ~SPC a o l~ | org store link |
|
||
| ~SPC a o m~ | org tags view |
|
||
| ~SPC a o o~ | org agenda |
|
||
| ~SPC a o s~ | org search view |
|
||
| ~SPC a o t~ | org todo list |
|
||
| ~SPC C c~ | org-capture |
|
||
|
||
** Toggles
|
||
|
||
| Key binding | Description |
|
||
|-------------+-----------------------------------------------|
|
||
| ~SPC m T c~ | org-toggle-checkbox |
|
||
| ~SPC m T e~ | org-toggle-pretty-entities |
|
||
| ~SPC m T i~ | org-toggle-inline-images |
|
||
| ~SPC m T n~ | org-num-mode |
|
||
| ~SPC m T l~ | org-toggle-link-display |
|
||
| ~SPC m T t~ | org-show-todo-tree |
|
||
| ~SPC m T T~ | org-todo |
|
||
| ~SPC m T V~ | toggle =space-doc-mode= a read-only view mode |
|
||
| ~SPC m T x~ | org-preview-latex-fragment |
|
||
|
||
** 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 a~ | org-agenda |
|
||
| ~SPC m A~ | org-attach |
|
||
| ~SPC m c~ | org-capture |
|
||
| ~SPC m C c~ | org-clock-cancel |
|
||
| ~SPC m C d~ | Temporarily show clock times for current file |
|
||
| ~SPC m C e~ | org-evaluate-time-range |
|
||
| ~SPC m C g~ | org-clock-goto |
|
||
| ~SPC m C i~ | org-clock-in |
|
||
| ~SPC m C I~ | org-clock-in-last |
|
||
| ~SPC m C j~ | Jump to the current clock |
|
||
| ~SPC m C o~ | org-clock-out |
|
||
| ~SPC m C R~ | Insert clock report |
|
||
| ~SPC m C r~ | org-resolve-clocks |
|
||
| ~SPC m d d~ | org-deadline |
|
||
| ~SPC m d s~ | org-schedule |
|
||
| ~SPC m d t~ | org-time-stamp |
|
||
| ~SPC m d T~ | org-time-stamp-inactive |
|
||
| ~SPC m e e~ | org-export-dispatch |
|
||
| ~SPC m e m~ | send current buffer as HTML email message |
|
||
| ~SPC m f i~ | org-feed-goto-inbox |
|
||
| ~SPC m f u~ | org-feed-update-all |
|
||
| ~SPC m l~ | org-open-at-point |
|
||
| ~SPC m L~ | org-shiftright |
|
||
| ~SPC m H~ | org-shiftleft |
|
||
| ~SPC m K~ | org-shiftup |
|
||
| ~SPC m J~ | org-shiftdown |
|
||
| ~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 j~ | spacemacs/jump-in-buffer (jump to a heading) |
|
||
|
||
** Org with evil-org-mode
|
||
Please see the [[https://github.com/Somelauw/evil-org-mode/blob/master/doc/keythemes.org][evil-org documentation]] for additional instructions on customizing
|
||
=evil-org-mode=.
|
||
|
||
| Key binding | Description |
|
||
|---------------+---------------------------------|
|
||
| ~gj~ / ~gk~ | Next/previous element (heading) |
|
||
| ~gh~ / ~gl~ | Parent/child element (heading) |
|
||
| ~gH~ | Root heading |
|
||
| ~ae~ | Element text object |
|
||
| ~ar~ | Subtree text object |
|
||
| ~M-j~ / ~M-k~ | Move heading |
|
||
| ~M-h~ / ~M-l~ | Promote or demote heading |
|
||
| ~M-J~ / ~M-K~ | Move subtree |
|
||
| ~M-H~ / ~M-L~ | Promote or demote subtree |
|
||
| ~>>~ / ~<<~ | Promote or demote heading |
|
||
|
||
If the layer variable =org-want-todo-bindings= is true, the following bindings
|
||
are also available.
|
||
|
||
| Key bindings | Description |
|
||
|--------------+-------------------------------------|
|
||
| ~t~ | Cycle TODO state of current heading |
|
||
| ~T~ | Insert new TODO heading |
|
||
| ~M-t~ | Insert new TODO sub-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 f~ | Show table field info |
|
||
| ~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 R~ | Recalculate all tables in the current buffer 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 |
|
||
|
||
** Trees
|
||
|
||
| Key binding | Description |
|
||
|---------------+---------------------------------|
|
||
| ~gj~ / ~gk~ | Next/previous element (heading) |
|
||
| ~gh~ / ~gl~ | Parent/child element (heading) |
|
||
| ~gH~ | Root heading |
|
||
| ~ae~ | Element text object |
|
||
| ~ar~ | Subtree text object |
|
||
| ~M-j~ / ~M-k~ | Move heading |
|
||
| ~M-h~ / ~M-l~ | Promote or demote heading |
|
||
| ~M-J~ / ~M-K~ | Move subtree |
|
||
| ~M-H~ / ~M-L~ | Promote or demote subtree |
|
||
| ~>>~ / ~<<~ | Promote or demote heading |
|
||
| ~TAB~ | org-cycle |
|
||
| ~SPC m s a~ | Toggle archive tag for subtree |
|
||
| ~SPC m s A~ | Archive subtree |
|
||
| ~SPC m s b~ | org-tree-to-indirect-buffer |
|
||
| ~SPC m s d~ | org-cut-subtree |
|
||
| ~SPC m s y~ | org-copy-subtree |
|
||
| ~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 |
|
||
| ~SPC m s n~ | org-narrow-to-subtree |
|
||
| ~SPC m s w~ | widen narrowed subtree |
|
||
| ~SPC m s r~ | org-refile |
|
||
| ~SPC m s s~ | show sparse tree |
|
||
| ~SPC m s S~ | sort trees |
|
||
|
||
** Element insertion
|
||
|
||
| Key binding | Description |
|
||
|---------------+-----------------------------------------------|
|
||
| ~C-RET~ | Insert heading at end of current subtree |
|
||
| ~C-S-RET~ | Insert TODO heading at end of current subtree |
|
||
| ~SPC m i d~ | org-insert-drawer |
|
||
| ~SPC m i D s~ | Take screenshot |
|
||
| ~SPC m i D y~ | Yank image url |
|
||
| ~SPC m i e~ | org-set-effort |
|
||
| ~SPC m i f~ | org-insert-footnote |
|
||
| ~SPC m i h~ | org-insert-heading |
|
||
| ~SPC m i H~ | org-insert-heading-after-current |
|
||
| ~SPC m i i~ | org-insert-item |
|
||
| ~SPC m i K~ | spacemacs/insert-keybinding-org |
|
||
| ~SPC m i l~ | org-insert-link |
|
||
| ~SPC m i L~ | insert URL with its page title from clipboard |
|
||
| ~SPC m i n~ | org-add-note |
|
||
| ~SPC m i p~ | org-set-property |
|
||
| ~SPC m i r~ | org-rich-yank (paste code into a =src= block) |
|
||
| ~SPC m i s~ | org-insert-subheading |
|
||
| ~SPC m i t~ | org-set-tags |
|
||
|
||
** Links
|
||
|
||
| Key binding | Description |
|
||
|-------------+-------------------|
|
||
| ~SPC m x o~ | org-open-at-point |
|
||
|
||
** Babel / Source Blocks
|
||
|
||
| Key binding | Description |
|
||
|-------------+------------------------------------------|
|
||
| ~SPC m b .~ | Enter Babel Transient State |
|
||
| ~SPC m b a~ | org-babel-sha1-hash |
|
||
| ~SPC m b b~ | org-babel-execute-buffer |
|
||
| ~SPC m b c~ | org-babel-check-src-block |
|
||
| ~SPC m b d~ | org-babel-demarcate-block |
|
||
| ~SPC m b e~ | org-babel-execute-maybe |
|
||
| ~SPC m b f~ | org-babel-tangle-file |
|
||
| ~SPC m b g~ | org-babel-goto-named-src-block |
|
||
| ~SPC m b i~ | org-babel-lob-ingest |
|
||
| ~SPC m b I~ | org-babel-view-src-block-info |
|
||
| ~SPC m b j~ | org-babel-insert-header-arg |
|
||
| ~SPC m b l~ | org-babel-load-in-session |
|
||
| ~SPC m b n~ | org-babel-next-src-block |
|
||
| ~SPC m b o~ | org-babel-open-src-block-result |
|
||
| ~SPC m b p~ | org-babel-previous-src-block |
|
||
| ~SPC m b r~ | org-babel-goto-named-result |
|
||
| ~SPC m b s~ | org-babel-execute-subtree |
|
||
| ~SPC m b t~ | org-babel-tangle |
|
||
| ~SPC m b u~ | org-babel-goto-src-block-head |
|
||
| ~SPC m b v~ | org-babel-expand-src-block |
|
||
| ~SPC m b x~ | org-babel-do-key-sequence-in-edit-buffer |
|
||
| ~SPC m b z~ | org-babel-switch-to-session |
|
||
| ~SPC m b Z~ | org-babel-switch-to-session-with-code |
|
||
|
||
*** Org Babel Transient State
|
||
Use ~SPC m b .~ to enter a transient state for quick source block navigation and
|
||
execution. During that state, the following bindings are active:
|
||
|
||
| Key binding | Description |
|
||
|-------------+-------------------------------|
|
||
| ~'~ | edit source block |
|
||
| ~e~ | execute source block |
|
||
| ~g~ | jump to named source block |
|
||
| ~j~ | jump to next source block |
|
||
| ~k~ | jump to previous source block |
|
||
| ~z~ | recenter buffer in window |
|
||
| ~q~ | leave transient state |
|
||
|
||
** 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 verbatim |
|
||
|
||
** 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 |
|
||
|
||
** 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= |
|
||
| ~SPC m '~ | confirm in =org-src-mode= |
|
||
| ~SPC m c~ | confirm |
|
||
| ~SPC m a~ | abort |
|
||
| ~SPC m k~ | abort |
|
||
| ~SPC m r~ | org-capture-refile in org-capture-mode |
|
||
|
||
** Org agenda
|
||
*** Key bindings
|
||
The evilified org agenda supports the following bindings:
|
||
|
||
| Key binding | Description |
|
||
|----------------------+-----------------------------------|
|
||
| ~M-SPC~ or ~s-M-SPC~ | org-agenda transient state |
|
||
| ~SPC m a~ | org-agenda |
|
||
| ~SPC m ,~ | org-agenda-ctrl-c-ctrl-c |
|
||
| ~SPC m c~ | org-agenda-capture |
|
||
| ~SPC m C c~ | org-agenda-clock-cancel |
|
||
| ~SPC m C i~ | org-agenda-clock-in |
|
||
| ~SPC m C o~ | org-agenda-clock-out |
|
||
| ~SPC m C j~ | org-agenda-clock-goto |
|
||
| ~SPC m C p~ | org-pomodoro (if package is used) |
|
||
| ~SPC m d d~ | org-agenda-deadline |
|
||
| ~SPC m d s~ | org-agenda-schedule |
|
||
| ~SPC m i e~ | org-agenda-set-effort |
|
||
| ~SPC m i p~ | org-agenda-set-property |
|
||
| ~SPC m i P~ | org-agenda-priority |
|
||
| ~SPC m i t~ | org-agenda-set-tags |
|
||
| ~SPC m s r~ | org-agenda-refile |
|
||
| ~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 ~SPC m .~, ~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.
|
||
|
||
| Key binding | Description | Command |
|
||
|-------------+---------------------+-----------------------------------|
|
||
| Entry | | |
|
||
|-------------+---------------------+-----------------------------------|
|
||
| ~h:~ | set tags | org-agenda-set-tags |
|
||
| ~hA~ | archive | org-agenda-archive-default |
|
||
| ~ht~ | set status | org-agenda-todo |
|
||
| ~hk~ | kill | org-agenda-kill |
|
||
| ~hp~ | set priority | org-agenda-priority |
|
||
| ~hR~ | refile | org-agenda-refile |
|
||
|-------------+---------------------+-----------------------------------|
|
||
| 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 | | |
|
||
|-------------+---------------------+-----------------------------------|
|
||
| ~fc~ | by category | org-agenda-filter-by-category |
|
||
| ~fd~ | delete all filters | org-agenda-filter-remove-all |
|
||
| ~fh~ | by top headline | org-agenda-filter-by-top-headline |
|
||
| ~fr~ | refine by tag | org-agenda-filter-by-tag-refine |
|
||
| ~ft~ | by tag | org-agenda-filter-by-tag |
|
||
| ~fx~ | by regexp | org-agenda-filter-by-regexp |
|
||
|-------------+---------------------+-----------------------------------|
|
||
| Date | | |
|
||
|-------------+---------------------+-----------------------------------|
|
||
| ~+~ | do later | org-agenda-do-date-later |
|
||
| ~-~ | do earlier | org-agenda-do-date-earlier |
|
||
| ~dd~ | set deadline | org-agenda-deadline |
|
||
| ~dD~ | remove deadline | org-agenda-deadline |
|
||
| ~ds~ | schedule | org-agenda-schedule |
|
||
| ~dS~ | un-schedule | org-agenda-schedule |
|
||
| ~dt~ | timestamp | org-agenda-date-prompt |
|
||
|-------------+---------------------+-----------------------------------|
|
||
| Toggle | | |
|
||
|-------------+---------------------+-----------------------------------|
|
||
| ~ta~ | archive | org-agenda-archives-mode |
|
||
| ~tc~ | clocking issues | org-agenda-show-clocking-issues |
|
||
| ~td~ | diaries | org-agenda-toggle-diary |
|
||
| ~tf~ | follow | org-agenda-follow-mode |
|
||
| ~tl~ | log | org-agenda-log-mode |
|
||
| ~tr~ | clock report | org-agenda-clockreport-mode |
|
||
|-------------+---------------------+-----------------------------------|
|
||
| View | | |
|
||
|-------------+---------------------+-----------------------------------|
|
||
| ~vd~ | day | org-agenda-day-view |
|
||
| ~vm~ | month | org-agenda-month-view |
|
||
| ~vn~ | next span | org-agenda-later |
|
||
| ~vp~ | prev span | org-agenda-earlier |
|
||
| ~vr~ | reset | org-agenda-reset-view |
|
||
| ~vt~ | fortnight | org-agenda-fortnight-view |
|
||
| ~vw~ | week | org-agenda-week-view |
|
||
| ~vy~ | year | org-agenda-year-view |
|
||
|-------------+---------------------+-----------------------------------|
|
||
| Clock | | |
|
||
|-------------+---------------------+-----------------------------------|
|
||
| ~cI~ | in | org-agenda-clock-in |
|
||
| ~cj~ | jump | org-agenda-clock-goto |
|
||
| ~cO~ | out | org-agenda-clock-out |
|
||
| ~cq~ | cancel | org-agenda-clock-cancel |
|
||
|-------------+---------------------+-----------------------------------|
|
||
| Other | | |
|
||
|-------------+---------------------+-----------------------------------|
|
||
| ~.~ | go to today | org-agenda-goto-today |
|
||
| ~gd~ | go to date | org-agenda-goto-date |
|
||
| ~gr~ | reload | org-agenda-redo |
|
||
|
||
** Pomodoro
|
||
|
||
| Key binding | Description |
|
||
|-------------+-------------------|
|
||
| ~SPC m C p~ | starts a pomodoro |
|
||
|
||
** Presentation
|
||
org-present must be activated explicitly by typing: ~SPC SPC org-present~
|
||
|
||
| Key binding | Description |
|
||
|-------------+----------------|
|
||
| ~h~ | previous slide |
|
||
| ~l~ | next slide |
|
||
| ~q~ | quit |
|
||
|
||
** Helm-org-rifle
|
||
|
||
| Key binding | Description |
|
||
|-------------+--------------------------------------------|
|
||
| ~SPC a o /~ | Search org files for keywords and headings |
|
||
|
||
** Org-projectile
|
||
|
||
| Key binding | Description |
|
||
|-------------------+---------------------------------------------------------|
|
||
| ~SPC a o p~ | Capture a TODO for the current project |
|
||
| ~SPC u SPC a o p~ | Capture a TODO for any given project (choose from list) |
|
||
| ~SPC p o~ | Go to the TODOs for the current project |
|
||
|
||
** Org-journal
|
||
|
||
| Key binding | Description |
|
||
|---------------------+-------------------------------------------------|
|
||
| ~SPC a o j f~ | Visit journal file |
|
||
| ~SPC a o j j~ | New journal entry |
|
||
| ~SPC u SPC a o j j~ | Open today's journal without adding a new entry |
|
||
| ~SPC a o j s~ | Search journal entries |
|
||
| ~SPC a o j t~ | New scheduled journal entry |
|
||
| ~SPC a o j v~ | View scheduled journal entries |
|
||
|
||
Journal entries are highlighted in the calendar. The following key bindings are
|
||
available for =calendar-mode= for navigating and manipulating the journal.
|
||
|
||
| Key binding | Description |
|
||
|-------------+---------------------------------------|
|
||
| ~SPC m i~ | Insert journal entry for date |
|
||
| ~SPC m m~ | Search calendar month journal entries |
|
||
| ~SPC m n~ | Next journal entry |
|
||
| ~SPC m p~ | Previous journal entry |
|
||
| ~SPC m r~ | Read journal entry |
|
||
| ~SPC m s~ | Search all journal entries |
|
||
| ~SPC m w~ | Search calendar week journal entries |
|
||
| ~SPC m y~ | Search calendar year journal entries |
|
||
|
||
While viewing a journal entry in =org-journal-mode= the following key bindings
|
||
are available.
|
||
|
||
| Key binding | Description |
|
||
|-------------+------------------------|
|
||
| ~SPC m j~ | New journal entry |
|
||
| ~SPC m n~ | Next journal entry |
|
||
| ~SPC m p~ | Previous journal entry |
|
||
|
||
** Org-brain
|
||
*** Application bindings
|
||
|
||
| Key binding | Description |
|
||
|---------------+------------------------------|
|
||
| ~SPC a o B v~ | Visualize an org-brain entry |
|
||
| ~SPC a o B a~ | Go to the org-brain agenda |
|
||
|
||
*** org-mode bindings
|
||
|
||
| Key binding | Description |
|
||
|---------------+------------------------------|
|
||
| ~SPC m B a c~ | Add child |
|
||
| ~SPC m B a h~ | Add headline child |
|
||
| ~SPC m B a f~ | Add friend |
|
||
| ~SPC m B a p~ | Add parent |
|
||
| ~SPC m B a r~ | Add resource |
|
||
| ~SPC m B g g~ | Go to an org-brain entry |
|
||
| ~SPC m B g c~ | Go to child |
|
||
| ~SPC m B g f~ | Go to friend |
|
||
| ~SPC m B g p~ | Go to parent |
|
||
| ~SPC m B R~ | Refile entry |
|
||
| ~SPC m B x~ | Delete entry |
|
||
| ~SPC m B v~ | Visualize an org-brain entry |
|
||
|
||
*** Visualization bindings
|
||
|
||
| Key binding | Description |
|
||
|-------------+---------------------------------------|
|
||
| ~j / TAB~ | Goto next link |
|
||
| ~k / S-TAB~ | Goto previous link |
|
||
| ~C-y~ | Paste resource link |
|
||
| ~a~ | Add resource [[http://orgmode.org/manual/Attachments.html][attachment]] |
|
||
| ~c~ | Add child |
|
||
| ~f~ | Find/visit another entry to visualize |
|
||
| ~l~ | Add resource link |
|
||
| ~p~ | Add parent |
|
||
| ~o~ | Open and edit the visualized entry |
|
||
| ~r~ | Rename this, or another, entry |
|
||
|
||
** Org-jira
|
||
Key binding prefixes:
|
||
- ~SPC a o J~ (everywhere)
|
||
- ~SPC m m j~ (in an org-mode buffer)
|
||
|
||
| Key binding | Description |
|
||
|----------------+--------------------------------------------------|
|
||
| ~[prefix] p g~ | Get projects list |
|
||
| ~[prefix] i b~ | Open the current issue in a WWW browser |
|
||
| ~[prefix] i g~ | Get issues |
|
||
| ~[prefix] i h~ | Get only head of issues |
|
||
| ~[prefix] i f~ | Get only head of issues from filter |
|
||
| ~[prefix] i u~ | Update an issue at point |
|
||
| ~[prefix] i w~ | Progress an issue at point |
|
||
| ~[prefix] i r~ | Refresh an issue at point |
|
||
| ~[prefix] i c~ | Create an issue at point |
|
||
| ~[prefix] i y~ | Copy current issue key |
|
||
| ~[prefix] s c~ | Create a subtask |
|
||
| ~[prefix] s g~ | Get subtasks |
|
||
| ~[prefix] c u~ | Update the comment at point or add a new comment |
|
||
| ~[prefix] t j~ | Convert the TODO item at point to a Jira ticket |
|
||
|
||
** Verb
|
||
*** Verb-mode bindings
|
||
|
||
| Key binding | Description |
|
||
|-------------+--------------------------------------------------------------|
|
||
| ~SPC m r r~ | Send request on point in another window, but don't select it |
|
||
| ~SPC m r s~ | Send request on point in another window |
|
||
| ~SPC m r m~ | Send request on point, show result status in minibuffer |
|
||
| ~SPC m r f~ | Send request on point in selected window |
|
||
| ~SPC m r k~ | Kill all response buffers and their windows |
|
||
| ~SPC m r e~ | Export request on point (prompt for format) |
|
||
| ~SPC m r u~ | Export request on point to curl format |
|
||
| ~SPC m r b~ | Export request on point to Verb format |
|
||
| ~SPC m r v~ | Set value of a Verb variable |
|
||
|
||
*** Verb-response-body-mode bindings
|
||
|
||
| Key binding | Description |
|
||
|-------------+---------------------------------------------|
|
||
| ~SPC m r r~ | Toggle display headers for current response |
|
||
| ~SPC m r k~ | Kill current response buffer and its window |
|
||
| ~SPC m r f~ | Re-send current response |
|
||
|
||
*** Verb-response-headers-mode bindings
|
||
|
||
| Key binding | Description |
|
||
|-------------+-----------------------------------------------------|
|
||
| ~SPC m r q~ | Kill current response headers buffer and its window |
|
||
|
||
** Org-roam
|
||
Key binding prefixes:
|
||
- ~SPC a o r~ (anywhere)
|
||
- ~SPC m r~ (in an org-mode buffer)
|
||
|
||
| Key binding | Description |
|
||
|---------------+-----------------------------------|
|
||
| ~SPC m r c~ | Capture |
|
||
| ~SPC m r l~ | Toggle org-roam links visibility |
|
||
| ~SPC m r f~ | Find node in org-roam |
|
||
| ~SPC m r i~ | Insert node into org-roam |
|
||
| ~SPC m r g~ | Visualize org-roam graph |
|
||
| ~SPC m r a~ | Add org-roam alias to file |
|
||
| ~SPC m r d y~ | Open yesterday's daily note |
|
||
| ~SPC m r d t~ | Open today's daily note |
|
||
| ~SPC m r d T~ | Open tomorrow's daily note |
|
||
| ~SPC m r d d~ | Open daily note via calendar view |
|
||
| ~SPC m r t a~ | Add a tag to file |
|
||
| ~SPC m r t r~ | Remove a tag from file |
|