Org mode for Emacs is a mode for using text files to organise your ToDo lists, Agendas, task completion, logging time spent on tasks, writing documents and much more. That sounds amazing but basically it is using ASCII plain text-files to organise all of the things that you would use complicated, often paid-for apps. Life in plain-text is the way forward.

Dedicated topics

Usage

General

Keys Action
C-c . Insert date
Shift-Tab Toggle TODO status
C-x p i Insert hyperlink from clipboard (requires a plugin, can't recall what though).

Logging Time

Keys Action
C-c i Start logging time against a task
C-c o Stop logging time against a task

Tables

Keys Action
C-c C-c Update all formulas when on #+TBLFM
C-u C-c * Update all formulas from anywhere in the table

Table Magic

You can use tables like spreadsheets and write formula's for calculating things, for an introduction see Org as a spreadsheet system: a short introduction. But you can do really smart things since Emacs/org-mode can be made aware of units, and so can do conversions (see also the linked thread).

I wanted to record my “workouts” (runs and cycles) for which I record time and distance (via GPS tracking using the privacy respecting OpenTracks), and as such set up an org table shown below.

snippet.org
#!tablename: runing-log
#+NAME: runing-log
| Date             | Activity | Route                  | Distance | Time          | Pace          |
|------------------+----------+------------------------+----------+---------------+---------------|
| <2020-06-16 Tue> | Run      | Somewhere              | 6.47km   | 34min + 44s   |               |
| <2020-06-13 Sat> | Run      | Somewhere              | 8.03km   | 47min + 28s   |               |
#+TBLFM: $5=uconvert($4/$3, (min+s)/km);L

This requires that unconvert is defined in your start up somewhere.

snippet.lisp
;; Define conversion
(defmath uconvert (v u)
  "Convert value V to compatible unit U."
  (math-convert-units v u))

How to get the Pace calculated? Well notionally if it were a straight division then it would be =($5 / $4) in the first cell, then C-u C-c * (or C-c C-c if you're on the #+TBLFM line at the bottom of the table.). But that won't be quite right since minutes are not base-10.

Column Width

Tables when rendered will wrap automatically but what about when editing raw Org files? An explanation of how to set column widths can be found at Wrap cell content in an org mode table - Emacs Stack Exchange.

Links

See the documentation on Hyperlinks (Org Mode Compact Guide). You can specify links to files on your local system, headers/sections within a document or websites.

You can make links within your org files. As described here and in detail in the manual. A CAPTION is required for links to work properly.

snippet.org
See [[#example-table]]
 
#+NAME: example-table
#+CAPTION: This is a table
#+RESULTS
| a | table |
|---+-------|
| 1 | 2     |
| 3 | 4     |

You can link to files using…

snippet.org
# These can be relative too rather than absolute
[[file:/path/to/file.txt][Link to file]]

Extensions

I use a few extra org extensions, well I have them installed, I don't necessarily use them all yet…

All can be installed via MELPA.

Configuration

Syncing with Android

The excellent Orgzly allows you to read your Org-mode files on mobile and can be synced with Syncthing to keep everything up-to-date.

Combined with Tasker I can even dictate notes (although I've now lost the link to how to do that!).

Another option which is only designed to read your Org files on your phone and not edit them or produce an Agenda is Orgro which I actually prefer for reading the files as it has lots of pretty colours unlike Orgzly at present.

I used to MobileOrg and use Dropbox to sync between devices but its a bit dated.

Links

Android/Mobile

How-Tos

Articles by Jethro Kuan

Hooks

org-capture

Calendar

HTML Themes

Extensions

Misc

emacs/org-mode.txt · Last modified: 2022/06/28 19:20 by admin
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0