Update the manual for the review fixes !163
15 files changed, +179 −125
Layout: unified · split
docs/manual/guide/01-files-and-folders.org +4 −4
| @@ -31,7 +31,7 @@ Several commands in this chapter are only in the palette, not in a menu: Close O | ||
| 31 | 31 | |
| 32 | 32 | | Menu item | Shortcut | Palette title | |
| 33 | 33 | |------------------------------------------+----------+----------------------------------| |
| 34 | | View ▸ Show or Hide Outline | | Show or Hide Outline | | |
| 34 | | View ▸ Show or Hide Outline | =⌥⌘O= | Show or Hide Outline | | |
| 35 | 35 | | View ▸ Show or Hide Backlinks | | Show or Hide Backlinks | |
| 36 | 36 | | View ▸ Show or Hide Columns and Clock | =⌥⌘I= | Show or Hide Columns and Clock | |
| 37 | 37 | | View ▸ Show Tab Bar | | Show or Hide Tab Bar | |
| @@ -99,7 +99,7 @@ Right-click a file or folder in the sidebar for: | ||
| 99 | 99 | - New File… — creates a file in that folder (for a file, in the folder holding it). A name without an extension gets =.org=. A name like =projects/house= creates the =projects= folder too. Names can't start with =/= or contain =..=. The new file opens. |
| 100 | 100 | - Rename… — renames the file or folder in place. The new name can't contain =/=. Open buffers of the file, or of files inside the folder, are saved first (in explicit save mode you are asked) and reopened under the new path. |
| 101 | 101 | - Show in Finder. |
| 102 | - Move to Trash… — moves the file or folder to the Trash after you confirm. Open buffers of it close without saving. You can put it back from the Trash in Finder. | |
| 102 | - Move to Trash… — moves the file or folder to the Trash after you confirm. Open buffers of it close without saving; the confirmation warns you when the file, or an open file inside the folder, has unsaved changes. You can put it back from the Trash in Finder. | |
| 103 | 103 | |
| 104 | 104 | Right-click a root's header for New File…, Expand or Collapse, Show in Finder and Remove from Sidebar…. |
| 105 | 105 | |
| @@ -107,7 +107,7 @@ Right-click a root's header for New File…, Expand or Collapse, Show in Finder | ||
| 107 | 107 | |
| 108 | 108 | Click a file in the sidebar to open it. Other ways: |
| 109 | 109 | |
| 110 | - *Quick Open*: File ▸ Quick Open… (=⌘P=; =C-x C-f= in the Emacs and Doom presets; =SPC SPC=, =SPC .= or =SPC f f= in Doom normal state). Type part of a file's path below its root. Characters match in order, not necessarily next to each other; matches at the start of a word and runs of consecutive characters rank higher, and shorter paths win ties. Up to 50 matches show, with each file's name and path. Press =Return= to open the top match or click any match; =Escape= closes the list. Syncthing conflict copies are left out. | |
| 110 | - *Quick Open*: File ▸ Quick Open… (=⌘P=; =C-x C-f= in the Emacs and Doom presets; =SPC SPC=, =SPC .= or =SPC f f= in Doom normal state). Type part of a file's path below its root. Characters match in order, not necessarily next to each other; matches at the start of a word and runs of consecutive characters rank higher, and shorter paths win ties. Up to 50 matches show, with each file's name and path. The top match is selected; =↑= and =↓=, or =C-p= and =C-n=, move the selection. Press =Return= to open the selected match or click any match; =Escape= closes the list. Syncthing conflict copies are left out. | |
| 111 | 111 | - *Finder*: open an org file from Finder, with =open file.org= in Terminal, or by dropping it on Orgstar's Dock icon. Orgstar registers as the default app for org files and as an alternative editor for plain text. Each file opens as a buffer. |
| 112 | 112 | - *Links*: following a =file:= link or an ID link opens the target file; see [[file:09-links.org][Links]]. |
| 113 | 113 | - *Doom ex command*: =:e FILE= opens =FILE=, relative to the current file's folder; =~= is expanded. A file that doesn't exist is reported as =No file FILE=. |
| @@ -195,7 +195,7 @@ The outline follows your edits after a short pause in typing. | ||
| 195 | 195 | |
| 196 | 196 | ** Backlinks |
| 197 | 197 | |
| 198 | Under the outline, the backlinks pane lists headings in your folders that link to the current file (=Links to this file=) and to the heading at the caret (=Links to= followed by the heading's title). It updates as you move the caret. Click an entry to open it. Turn the pane off with View ▸ Show or Hide Backlinks. Which links count is covered in [[file:09-links.org][Links]]. | |
| 198 | Under the outline, the backlinks pane lists headings in your folders that link to the current file (a link before a file's first heading is listed under the file's name) (=Links to this file=) and to the heading at the caret (=Links to= followed by the heading's title). It updates as you move the caret. Click an entry to open it. Turn the pane off with View ▸ Show or Hide Backlinks. Which links count is covered in [[file:09-links.org][Links]]. | |
| 199 | 199 | |
| 200 | 200 | ** Inspector |
| 201 | 201 | |
docs/manual/guide/02-the-editor.org +10 −5
| @@ -84,10 +84,15 @@ Headings, drawers and blocks fold as in Org. Folding is display only and isn't s | ||
| 84 | 84 | |
| 85 | 85 | | Action | Emacs and Mac presets | Doom | Org command | |
| 86 | 86 | |--------------------------------+-----------------------+------------------------------------------------------+----------------------| |
| 87 | | Cycle the heading or element at the caret | =TAB= | =TAB=, =z a=, =z c=, =z o= in normal state; =TAB= in visual state | =org-cycle= | | |
| 87 | | Cycle the heading or element at the caret | =TAB= | =TAB= in normal and visual state | =org-cycle= | | |
| 88 | 88 | | Cycle the whole file | =S-TAB= | =S-TAB=, =z A= in normal state; =S-TAB= in visual state | =org-global-cycle= | |
| 89 | | Open or fold the heading | | =z a= in normal state | =+org/toggle-fold= | | |
| 90 | | Open the heading one level | | =z o= in normal state | =+org/open-fold= | | |
| 91 | | Fold the subtree the caret is in | | =z c= in normal state | =outline-hide-subtree= | | |
| 89 | 92 | |
| 90 | The palette titles are Cycle Visibility and Cycle Global Visibility; both are also in the Org menu. | |
| 93 | The titles in the palette and the Org menu are Cycle Visibility, Cycle Global Visibility, Toggle Fold, Open Fold and Close Fold. | |
| 94 | ||
| 95 | Toggle Fold and Open Fold act on a heading line: a folded heading opens one level, showing its body and its child headings, each folded. On an open heading, Toggle Fold folds it and Open Fold does nothing. Close Fold folds the subtree of the heading the caret is under, from anywhere in it. | |
| 91 | 96 | |
| 92 | 97 | =TAB= on a heading line cycles that heading: folded, then its children, then the whole subtree, then folded again. A heading without children goes straight from folded to open. =TAB= on the first or last line of a drawer or block folds or opens it; drawer and block folds are kept apart from heading folds, so cycling a heading leaves them as they are. Elsewhere =TAB= does what it otherwise would: in a table it moves to the next field, and in plain text it inserts a tab. |
| 93 | 98 | |
| @@ -170,7 +175,7 @@ The running clock is covered in [[file:06-dates-and-clocking.org][Dates and cloc | ||
| 170 | 175 | The line under the modeline is the echo area, as Emacs's minibuffer. It shows: |
| 171 | 176 | |
| 172 | 177 | - *Messages* from commands, such as =Stored: …= or =Not an org file=. A message stays for 4 seconds. |
| 173 | - *A pending key prefix*. After =C-c= it shows =C-c-=. If you pause for about 0.6 seconds, a grid of the keys that can follow appears, each with the command it runs, or =+prefix= for a further prefix, as =which-key= shows them. =C-g= cancels the prefix and shows =Quit=. A sequence that isn't bound shows, for example, =C-c z is undefined=. | |
| 178 | - *A pending key prefix*. After =C-c= it shows =C-c-=. If you pause for about 0.6 seconds, a grid of the keys that can follow appears, each with the command it would run at the caret, or =+prefix= for a further prefix, as =which-key= shows them. =C-g= cancels the prefix and shows =Quit=. A sequence that isn't bound shows, for example, =C-c z is undefined=, and does nothing; in the Doom preset this includes sequences after =SPC=. | |
| 174 | 179 | - *Prompts*, when a command asks a question. |
| 175 | 180 | |
| 176 | 181 | ** Prompts |
| @@ -251,7 +256,7 @@ Misspelt words are underlined, using the macOS spelling dictionary. In org files | ||
| 251 | 256 | |
| 252 | 257 | Orgstar never corrects spelling on its own; automatic spelling correction, text replacement and smart quotes and dashes are off. |
| 253 | 258 | |
| 254 | On iOS, spell checking is always on. | |
| 259 | On iOS, spell checking follows =spell-check= in the synced =config.toml=, and is off by default. | |
| 255 | 260 | |
| 256 | 261 | * Wrapping and filling |
| 257 | 262 | |
| @@ -265,7 +270,7 @@ Long lines wrap at the edge of the editor by default. Truncate or Wrap Long Line | ||
| 265 | 270 | |
| 266 | 271 | To truncate lines in every file, set =org-startup-truncated = true= in =config.toml=. The default is to wrap, as Doom does; Emacs's own default is to truncate. |
| 267 | 272 | |
| 268 | Wrapping is display only. To rewrap the text of a paragraph, use Org ▸ Fill Paragraph (=org-fill-paragraph=), which breaks the paragraph's lines at the fill column: =M-q= in the Emacs preset, =⌃⌘P= in the Mac preset, the Org menu or palette in Doom. The fill column is Settings ▸ Editing ▸ "M-q fills to column N" (80 by default, 40 to 200), or =fill-column= in =config.toml=. Orgstar has no auto-fill: lines are not broken as you type. | |
| 273 | Wrapping is display only. To rewrap the text of a paragraph, use Org ▸ Fill Paragraph (=org-fill-paragraph=), which breaks the paragraph's lines at the fill column: =M-q= in the Emacs preset and in every Doom state, =⌃⌘P= in the Mac preset. In Doom's normal and visual states, =gq= and =gw= with a motion fill the paragraphs in the lines it covers (=gqq= and =gww= for the current lines); =gq= leaves the caret on the last line, =gw= where it was. See [[file:03-keys.org][Keys and commands]]. The fill column is Settings ▸ Editing ▸ "M-q fills to column N" (80 by default, 40 to 200), or =fill-column= in =config.toml=. Orgstar has no auto-fill: lines are not broken as you type. | |
| 269 | 274 | |
| 270 | 275 | * View toggles |
| 271 | 276 | |
docs/manual/guide/03-keys.org +50 −43
| @@ -20,8 +20,6 @@ Choose a preset in Settings ▸ General ▸ Keys, or with =keymap= in the =[orgs | ||
| 20 | 20 | |
| 21 | 21 | The Mac preset binds fewer commands than the others. It has no keys for links, export, agenda, capture, clocking, narrowing, sorting, properties, footnotes, code blocks or =C-c C-c=. Run those from the Org menu, from the command palette (=⇧⌘P=), from a menu shortcut (Agenda =⇧⌘A=, Capture =⇧⌘N=), or bind them yourself in =keymap.toml=. |
| 22 | 22 | |
| 23 | The Mac preset binds Set Tags to =⌃⌘Q=, which is also the macOS Lock Screen shortcut. macOS takes that key first, so give Set Tags another key in =keymap.toml= (for example =C-s-g= for =⌃⌘G=) or run it from the Org menu. | |
| 24 | ||
| 25 | 23 | In the Emacs and Mac presets, and in Doom's insert state, macOS's own text keys keep working where the preset does not bind the key: =⌥←=, =⌘←=, =⇧= with arrows to select, and the Control keys the macOS text system provides (=⌃A=, =⌃E=, =⌃K= and so on). Menu shortcuts such as =⌘S= and =⌘F= work in every preset; see [[*Menu shortcuts][Menu shortcuts]]. |
| 26 | 24 | |
| 27 | 25 | * Option as Meta |
| @@ -69,9 +67,9 @@ In a file that is not an Org file, =org.= commands never apply, so their keys fa | ||
| 69 | 67 | |
| 70 | 68 | A prefix is a key that starts longer sequences, such as =C-c=, =C-c C-x=, =C-x n= or, in the Doom preset, =SPC= and =SPC m=. After a prefix, Orgstar waits for the next key and shows the keys typed so far in the echo area, followed by a dash: =C-c C-x-=. |
| 71 | 69 | |
| 72 | If you pause on a prefix for 0.6 seconds, a panel of key hints opens above the echo area. It lists each key that can follow, sorted by key, with the title of the command it runs, or =+prefix= when it leads to a longer sequence. This is Orgstar's version of =which-key=. The hints follow the current keymap, including your =keymap.toml=, and in the Doom preset the current evil state. A hint shows the highest-priority command for the key, which may not be the one that runs at the caret when the key has several contexts (=C-c C-c= is the common case). | |
| 70 | If you pause on a prefix for 0.6 seconds, a panel of key hints opens above the echo area. It lists each key that can follow, sorted by key, with the title of the command it runs, or =+prefix= when it leads to a longer sequence. This is Orgstar's version of =which-key=. The hints follow the current keymap, including your =keymap.toml=, and in the Doom preset the current evil state. When a key has several contexts (=C-c C-c= is the common case), the hint shows the command that would run at the caret; where none of them applies, it shows the highest-priority one. | |
| 73 | 71 | |
| 74 | =C-g= during a prefix cancels it; in the Emacs and Mac presets the echo area shows =Quit=. A sequence that nothing binds shows, for example, =C-c z is undefined= in the Emacs and Mac presets. | |
| 72 | =C-g= during a prefix cancels it; in the Emacs and Mac presets the echo area shows =Quit=. A sequence that nothing binds shows, for example, =C-c z is undefined= and does nothing. In the Doom preset this holds for sequences that start with =SPC= or with a Control or Meta key; see [[*How keys are handled][How keys are handled]] for the others. | |
| 75 | 73 | |
| 76 | 74 | A key bound by itself cannot also be a prefix. When a keymap binds both =C-c= and =C-c C-t=, =C-c= always waits for the next key, so the binding for =C-c= alone never runs. |
| 77 | 75 | |
| @@ -125,13 +123,14 @@ These come from the menu bar and work in every preset. In the Doom preset, keys | ||
| 125 | 123 | | Edit | Search Notes | =⇧⌘F= | |
| 126 | 124 | | View | Show Markup | =⇧⌘M= | |
| 127 | 125 | | View | Show Line Numbers | =⇧⌘L= | |
| 128 | | View | Show or Hide Columns and Clock | =⌥⌘I= or =⌥⌘O= (see below) | | |
| 126 | | View | Show or Hide Outline | =⌥⌘O= | | |
| 127 | | View | Show or Hide Columns and Clock | =⌥⌘I= | | |
| 129 | 128 | | Window | Agenda | =⇧⌘A= | |
| 130 | 129 | | Window | Board | =⇧⌘B= | |
| 131 | 130 | | Window | Next Buffer | =⇧⌘]= | |
| 132 | 131 | | Window | Previous Buffer | =⇧⌘[= | |
| 133 | 132 | |
| 134 | View ▸ Show or Hide Outline, Show or Hide Backlinks and Show Tab Bar, Window ▸ Switch to Buffer…, and the items of File ▸ Export have no shortcut. The Columns and Clock item declares both =⌥⌘I= and =⌥⌘O=, and only one of them takes effect. | |
| 133 | View ▸ Show or Hide Backlinks and Show Tab Bar, Window ▸ Switch to Buffer…, and the items of File ▸ Export have no shortcut. | |
| 135 | 134 | |
| 136 | 135 | With Settings ▸ Capture ▸ "⌃⌥Space opens Capture from any app" on (the default), =⌃⌥Space= opens the Capture window from any application (see [[file:08-capture.org][Capture]]). |
| 137 | 136 | |
| @@ -143,7 +142,7 @@ Speed keys work in the Emacs and Mac presets, and in the Doom preset in insert s | ||
| 143 | 142 | |
| 144 | 143 | * Customizing keys: keymap.toml |
| 145 | 144 | |
| 146 | Your own bindings go in =keymap.toml= in the configuration folder: =$XDG_CONFIG_HOME/orgstar/keymap.toml= when =XDG_CONFIG_HOME= is set, otherwise =~/.config/orgstar/keymap.toml=. Settings ▸ General shows the path under the Keys picker. The file does not exist until you create it. If you used an earlier version that kept it in =~/Library/Application Support/Orgstar/=, that copy is read until one exists in the configuration folder; changes to it are not picked up automatically, so run Reload Keymap after editing it. | |
| 145 | Your own bindings go in =keymap.toml= in the configuration folder: =$XDG_CONFIG_HOME/orgstar/keymap.toml= when =XDG_CONFIG_HOME= is set, otherwise =~/.config/orgstar/keymap.toml=. Settings ▸ General shows the path under the Keys picker. The file does not exist until you create it. If you used an earlier version that kept it in =~/Library/Application Support/Orgstar/=, that copy is read, and reloaded when you save it, until one exists in the configuration folder. | |
| 147 | 146 | |
| 148 | 147 | The bindings in the file are layered on top of the chosen preset. They apply to whichever preset is chosen, so a file written for the Emacs preset does nothing useful under Doom unless its bindings name a =mode=. |
| 149 | 148 | |
| @@ -165,7 +164,7 @@ command = "org.todo.cycle" | ||
| 165 | 164 | | =when= | no | A context from the table in [[*Contexts][Contexts]]. Without it the binding holds everywhere. | |
| 166 | 165 | | =mode= | no | An evil state for the Doom preset: ="normal"=, ="insert"= or ="visual"=. | |
| 167 | 166 | |
| 168 | The [[*Key reference][key reference]] gives each command's id after its title. Commands no preset binds are listed under [[*Unbound commands][Unbound commands]]. A typo in a command id is not caught when the file loads; pressing the key shows =Unknown command= and the id. | |
| 167 | The [[*Key reference][key reference]] gives each command's id after its title. Commands no preset binds are listed under [[*Unbound commands][Unbound commands]]. A binding whose command id Orgstar does not know is skipped and reported when the file loads (see [[*Reloading and errors][Reloading and errors]]). | |
| 169 | 168 | |
| 170 | 169 | Orgstar reads a subset of TOML: =[[bind]]= headers, =key = value= lines, basic ="..."= and literal ='...'= strings, =true= and =false=, integers, and =#= comments. Arrays, inline tables and multi-line strings are not supported. |
| 171 | 170 | |
| @@ -248,17 +247,17 @@ command = "org.heading.insert" | ||
| 248 | 247 | mode = "insert" |
| 249 | 248 | #+END_SRC |
| 250 | 249 | |
| 251 | =mode= is not checked when the file loads. Any value other than =normal=, =insert= or =visual= (including =visual-line=) makes a binding that never runs. | |
| 250 | A =mode= other than =normal=, =insert= or =visual= (including =visual-line=) is reported when the file loads, and the binding is skipped. | |
| 252 | 251 | |
| 253 | 252 | ** More examples |
| 254 | 253 | |
| 255 | 254 | #+BEGIN_SRC toml |
| 256 | # Mac preset: ⌃⌘L inserts a link, ⌃⌘E opens the export sheet, ⌃⌘X runs C-c C-c. | |
| 255 | # Mac preset: ⌃⌘L inserts a link, ⌃⌘O opens the export sheet, ⌃⌘X runs C-c C-c. | |
| 257 | 256 | [[bind]] |
| 258 | 257 | keys = "C-s-l" |
| 259 | 258 | command = "org.link.insert" |
| 260 | 259 | [[bind]] |
| 261 | keys = "C-s-e" | |
| 260 | keys = "C-s-o" | |
| 262 | 261 | command = "app.export-dialog" |
| 263 | 262 | [[bind]] |
| 264 | 263 | keys = "C-s-x" |
| @@ -278,11 +277,11 @@ command = "app.reload-keymap" | ||
| 278 | 277 | |
| 279 | 278 | Orgstar watches the configuration folder and reloads =keymap.toml= when you save it. It also reloads when you change the preset, and when you run Reload Keymap (=app.reload-keymap=, in the palette, and =SPC h r r= in Doom normal state), which shows =Keymap reloaded=. |
| 280 | 279 | |
| 281 | Problems are reported in the echo area with the line number, for example =keymap.toml: line 12: unknown context tabel (and 1 more)=. A binding with bad or missing =keys=, a missing =command=, an unknown =when=, or a table other than =[[bind]]= is skipped; the rest of the file still applies. A file that is not valid TOML is ignored as a whole and the error is shown; the preset alone applies until you fix it. | |
| 280 | Problems are reported in the echo area with the line number, for example =keymap.toml: line 12: unknown context tabel (and 1 more)=. A binding with bad or missing =keys=, a missing =command=, a command id Orgstar does not know, an unknown =when= or =mode=, or a table other than =[[bind]]= is skipped; the rest of the file still applies. A file that is not valid TOML is ignored as a whole and the error is shown; the preset alone applies until you fix it. | |
| 282 | 281 | |
| 283 | 282 | ** Importing from Emacs |
| 284 | 283 | |
| 285 | Settings ▸ General ▸ Import from Emacs… reads your Emacs or Doom configuration and offers, among other things, the key bindings it finds: =global-set-key=, =keymap-global-set=, =define-key=, =keymap-set=, =evil-define-key= and Doom's =map!= with =:leader=, =:localleader=, state keywords and =:prefix=. Bindings to commands Orgstar has are appended to =keymap.toml= under a =# Imported from Emacs.= comment. See [[file:15-alongside-emacs.org][Alongside Emacs]]. | |
| 284 | Settings ▸ General ▸ Import from Emacs… reads your Emacs or Doom configuration and offers, among other things, the key bindings it finds: =global-set-key=, =keymap-global-set=, =define-key=, =keymap-set=, =evil-define-key= and Doom's =map!= with =:leader=, =:localleader=, state keywords and =:prefix=. Bindings to commands Orgstar has are appended to =keymap.toml= under a =# Imported from Emacs.= comment, leaving out bindings the file already has. Keys written as vectors, such as =[f5]=, are skipped. See [[file:15-alongside-emacs.org][Alongside Emacs]]. | |
| 286 | 285 | |
| 287 | 286 | * Vim editing (Doom preset) |
| 288 | 287 | |
| @@ -299,8 +298,8 @@ Each key goes first to the keymap for the current state, then to the Vim engine: | ||
| 299 | 298 | |
| 300 | 299 | Two consequences: |
| 301 | 300 | |
| 302 | - Keymap commands do not take counts or registers. Once you type a count or a register, the following keys go straight to Vim, so =3gj= moves three screen lines even in an Org file, where =gj= alone moves by headings. | |
| 303 | - A sequence the keymap does not complete is replayed into Vim. =SPC= followed by a key the leader does not bind runs Vim's =SPC= (move right) and then that key, instead of reporting the sequence as undefined. | |
| 301 | - Keymap commands do not take counts or registers. Once you type a count or a register, the following keys go straight to Vim. | |
| 302 | - A sequence the keymap does not complete after =SPC=, =C-c=, =C-x= or another Control or Meta prefix is undefined: the echo area shows, for example, =SPC j is undefined=, and nothing runs. After =g=, =z=, =[= or =]=, which are Vim prefixes too, the keys are replayed into Vim, so =gu= and =gq= reach the Vim engine although the keymap binds other =g= keys. | |
| 304 | 303 | |
| 305 | 304 | ** States |
| 306 | 305 | |
| @@ -324,7 +323,7 @@ Motions move the caret in normal state, extend the selection in visual states, a | ||
| 324 | 323 | |-+-| |
| 325 | 324 | | =h=, =l=, =<left>=, =<right>=, =DEL= | Left, right; =DEL= is =h=. Stays on the line. | |
| 326 | 325 | | =j=, =k=, =<down>=, =<up>= | Down, up, keeping the column. | |
| 327 | | =gj=, =gk= | Down, up by screen lines in wrapped text. In Org files the keymap takes =g j= and =g k= first; see below. | | |
| 326 | | =gj=, =gk= | In Org files, to the next or previous Org element (=org-forward-element=, =org-backward-element=, as evil-org binds them); counts are ignored. On a heading, =gj= goes to the next heading after the subtree and =gk= to the previous heading at the same level or higher. In other files, down and up by screen lines in wrapped text. | | |
| 328 | 327 | | =+=, =-=, =RET= | First non-blank of the next or previous line. In Org files =RET= runs Act at Point instead. | |
| 329 | 328 | | =w=, =b=, =e=, =ge= | Next word start, previous word start, word end, previous word end. | |
| 330 | 329 | | =W=, =B=, =E=, =gE= | The same for blank-separated WORDs. | |
| @@ -334,20 +333,19 @@ Motions move the caret in normal state, extend the selection in visual states, a | ||
| 334 | 333 | | =g_= | Last non-blank of the line. | |
| 335 | 334 | | =gg=, =G= | First line, last line; with a count, that line. The column is kept (=evil-start-of-line= nil). | |
| 336 | 335 | | =f= /x/, =F= /x/, =t= /x/, =T= /x/ | To, or to just before, the next or previous /x/ on the line. | |
| 337 | | =;=, =,= | Repeats the last =f=, =F=, =t= or =T=, forward or reversed. | | |
| 336 | | =;=, =,= | Repeats the last =f=, =F=, =t=, =T=, =s= or =S=, forward or reversed. A snipe repeated this way searches all the text the window shows, not only the caret's line (=evil-snipe-repeat-scope=, as Doom sets it). | | |
| 338 | 337 | | =s= /xy/, =S= /xy/ | evil-snipe: to the next or previous /xy/ on the line. All-lowercase /xy/ matches case-insensitively. Not available after an operator. | |
| 339 | 338 | | =%= | The bracket matching the next =()=, =[]= or ={}= on the line. | |
| 340 | 339 | | ={=, =}= | Previous, next blank line. | |
| 341 | 340 | | =/=, =?= | Asks in the echo area for a regular expression and searches forward or backward, wrapping around the file. | |
| 342 | 341 | | =n=, =N= | Repeats the last search in the same or the opposite direction. | |
| 343 | 342 | | =*=, =#= | Searches forward or backward for the whole word under the caret. | |
| 344 | | =C-d=, =C-u= | Down, up 15 lines; with a count, that many lines. | | |
| 343 | | =C-d=, =C-u= | Down, up half the window's height; with a count, that many lines. | | |
| 344 | | =H=, =M=, =L= | First non-blank of the top, middle or bottom line the window shows. With a count, =H= goes to that line from the top and =L= from the bottom. Lines are text lines, not wrapped screen lines. Linewise after an operator. | | |
| 345 | 345 | | ='= /a/, =`= /a/ | To mark /a/: its line's first non-blank, or its exact position. See [[*Marks and jumps][Marks and jumps]]. | |
| 346 | 346 | |
| 347 | 347 | Search patterns are ICU regular expressions as macOS uses them, close to PCRE; Emacs and Vim regexp syntax such as =\(...\)= or =\<= does not work. =:noh= is accepted and does nothing; searches are not highlighted. |
| 348 | 348 | |
| 349 | =H=, =M= and =L= are not implemented. | |
| 350 | ||
| 351 | 349 | ** Operators |
| 352 | 350 | |
| 353 | 351 | | Keys | Does | |
| @@ -358,6 +356,9 @@ Search patterns are ICU regular expressions as macOS uses them, close to PCRE; E | ||
| 358 | 356 | | =>= /motion/, =<= /motion/ | Indents or outdents lines by 8 spaces (=evil-shift-width=, which Doom sets to Org's =tab-width=). =>>= and =<<= act on lines. | |
| 359 | 357 | | =g~= /motion/, =gu= /motion/, =gU= /motion/ | Toggles case, lowercases, uppercases. =g~~=, =guu=, =gUU= act on lines. | |
| 360 | 358 | | =gc= /motion/ | Comments or uncomments lines with =#= (=evilnc-comment-operator=). =gcc= acts on lines. See [[*Commenting][Commenting]]. | |
| 359 | | =gq= /motion/, =gw= /motion/ | Fills the paragraphs in the motion's lines to the fill column, as Fill Paragraph does; other elements in the lines are left alone. =gq= leaves the caret on the first non-blank of the last line, =gw= where it was. =gqq= and =gww= act on lines. | | |
| 360 | ||
| 361 | =M-q= runs Fill Paragraph in normal, insert and visual state. | |
| 361 | 362 | |
| 362 | 363 | Counts multiply: =2d3w= deletes six words. Doubling an operator with a count acts on that many lines: =3dd=. |
| 363 | 364 | |
| @@ -375,8 +376,8 @@ Single-key changes: | ||
| 375 | 376 | | =r= /x/ | Replaces the character under the caret (count: that many) with /x/; =r RET= splits the line. | |
| 376 | 377 | | =u=, =C-r= | Undo, redo, with counts. | |
| 377 | 378 | | =.= | Repeats the last change. | |
| 378 | | =ZZ= | Saves the file. It does not close anything. | | |
| 379 | | =ZQ= | Not available; shows a message. | | |
| 379 | | =ZZ= | Saves the file and closes the window, as =:wq=. | | |
| 380 | | =ZQ= | Closes the window, as =:q!=. | | |
| 380 | 381 | |
| 381 | 382 | =o= and =O= open a line below or above with Org's indentation: under a list item, aligned with the item's text; under a heading, none; otherwise the line's own indentation. |
| 382 | 383 | |
| @@ -413,7 +414,7 @@ A count is digits before a command; =0= only counts after another digit. A regis | ||
| 413 | 414 | |
| 414 | 415 | Pasting from the clipboard is linewise when its text is what the last linewise yank or delete put there; text copied in another app pastes as characters. Numbered registers ="1= to ="9=, and the read-only registers such as ="%=, are not available. |
| 415 | 416 | |
| 416 | Named registers, the yank register, marks, macros and the jump list belong to the buffer: each open file has its own set, and they are gone when the buffer closes or Orgstar quits. Only the clipboard is shared. | |
| 417 | Registers and macros are shared by every buffer, as in evil: a yank into ="a= in one file pastes with ="ap= in another. Lowercase marks and the jump list belong to the buffer and are gone when it closes. Nothing is kept when Orgstar quits. | |
| 417 | 418 | |
| 418 | 419 | ** Repeat |
| 419 | 420 | |
| @@ -436,9 +437,9 @@ A macro replays the keys you typed, including keymap commands, leader keys and i | ||
| 436 | 437 | |
| 437 | 438 | =m= /a/ sets mark /a/ (any letter) at the caret. Marks move with the text as you edit. ='= /a/ goes to the first non-blank of the mark's line, =`= /a/ to its exact position. =''= and =``= go back to where the last jump started. |
| 438 | 439 | |
| 439 | Jumps are =G=, =gg=, =%=, ={=, =}=, =n=, =N=, =*=, =#=, ='=, =`=, and searches with =/= and =?=. Each jump adds its starting point to the jump list, which keeps the last 100. =C-o= goes back through the list and =C-i= forward again. A new jump after =C-o= drops the places you went back past. | |
| 440 | Jumps are =G=, =gg=, =%=, ={=, =}=, =n=, =N=, =*=, =#=, ='=, =`=, =H=, =M=, =L=, and searches with =/= and =?=. Each jump adds its starting point to the jump list, which keeps the last 100. =C-o= goes back through the list and =C-i= forward again. A new jump after =C-o= drops the places you went back past. | |
| 440 | 441 | |
| 441 | Uppercase marks are per buffer like lowercase ones; there are no file marks. | |
| 442 | Lowercase marks belong to the buffer, and so do =C-o= and =C-i=. Uppercase marks (=mA= to =mZ=) are file marks, shared by every buffer: ='A= or =`A= in another buffer shows the buffer the mark was set in, at the mark. A file mark goes away when its buffer closes. | |
| 442 | 443 | |
| 443 | 444 | ** Visual states |
| 444 | 445 | |
| @@ -454,6 +455,7 @@ In visual and visual-line state: | ||
| 454 | 455 | | =>=, =<= | Indents or outdents its lines. | |
| 455 | 456 | | =~=, =u=, =U=, =g~=, =gu=, =gU= | Toggles case, lowercases, uppercases. | |
| 456 | 457 | | =gc= | Comments or uncomments its lines. | |
| 458 | | =gq=, =gw= | Fills the paragraphs in its lines. | | |
| 457 | 459 | | =J= | Joins its lines. | |
| 458 | 460 | | =p=, =P= | Replaces it with the clipboard or a register; the replaced text goes to the clipboard. | |
| 459 | 461 | | =S= /x/ | Surrounds it with /x/ (see below). Linewise selections get the delimiters on lines of their own. | |
| @@ -510,17 +512,18 @@ For =ds= and =cs=, brackets are found across lines; any other character is match | ||
| 510 | 512 | |
| 511 | 513 | ** Org keys in normal state |
| 512 | 514 | |
| 513 | Besides the leader, the preset binds these evil-org and Doom keys in normal state. =TAB=, =S-TAB= and =RET= in normal state, and the Emacs preset's Org keys in every state, are listed in the [[*Key reference][key reference]]. | |
| 515 | Besides the leader, the preset binds these evil-org and Doom keys in normal state. =TAB=, =S-TAB= and =RET= in normal state, and the Emacs preset's Org keys in every state, are listed in the [[*Key reference][key reference]]. =gj= and =gk= move by Org element; see [[*Motions][Motions]]. | |
| 514 | 516 | |
| 515 | 517 | | Keys | Command | |
| 516 | 518 | |-+-| |
| 517 | 519 | | =TAB= | Cycle Visibility (=org-cycle=). Also in visual state. | |
| 518 | 520 | | =S-TAB= | Cycle Global Visibility. Also in visual and insert state. | |
| 519 | 521 | | =RET= | Act at Point (=+org/dwim-at-point=). | |
| 520 | | =z a=, =z c=, =z o= | Cycle Visibility. All three cycle; there is no separate open and close. | | |
| 522 | | =z a= | Toggle Fold (=+org/toggle-fold=). On a heading line: a folded heading opens one level, showing its body and its child headings folded; an open one folds. | | |
| 523 | | =z o= | Open Fold (=+org/open-fold=). On a heading line, a folded heading opens one level; an open one stays as it is. | | |
| 524 | | =z c= | Close Fold (=outline-hide-subtree=). Folds the subtree the caret is in, from anywhere inside it. | | |
| 521 | 525 | | =z A= | Cycle Global Visibility. | |
| 522 | 526 | | =g h= | Up to Parent Heading. | |
| 523 | | =g j=, =g k= | Next or previous heading at the same level. evil-org moves by element here; Orgstar moves by heading only. In files that are not Org files these keys fall through to Vim's screen-line motions. | | |
| 524 | 527 | | =] h=, =[ h= | Next or previous heading at the same level. | |
| 525 | 528 | | =] b=, =[ b= | Next or previous buffer. | |
| 526 | 529 | | =M-h=, =M-j=, =M-k=, =M-l= | =M-<left>=, =M-<down>=, =M-<up>=, =M-<right>=: promote, move down, move up, demote on headings; the same for items; move columns and rows in tables. Also in insert and visual state. | |
| @@ -639,7 +642,7 @@ Anything else shows =Not an editor command=. Ranges other than =%=, the =c= flag | ||
| 639 | 642 | |
| 640 | 643 | ** Not available |
| 641 | 644 | |
| 642 | Things evil users may reach for that Orgstar does not have: =H=, =M=, =L=, =zz=, =zt= and the other scroll and fold =z= commands except =za=, =zc=, =zo= and =zA=; =C-a= and =C-x= to increment numbers; =gi=, =g;=, =gJ=; replace state (=R=); =&=; =q:=; the numbered and read-only registers; repeating evil-snipe with =;= or =,=; tag and sentence text objects. =C-d= and =C-u= move a fixed 15 lines rather than half the window. | |
| 645 | Things evil users may reach for that Orgstar does not have: =zz=, =zt= and the other scroll and fold =z= commands except =za=, =zc=, =zo= and =zA=; =C-a= and =C-x= to increment numbers; =gi=, =g;=, =gJ=; replace state (=R=); =&=; =q:=; the numbered and read-only registers; tag and sentence text objects. | |
| 643 | 646 | |
| 644 | 647 | * Keys in other windows |
| 645 | 648 | |
| @@ -683,7 +686,8 @@ With a hardware keyboard, the iOS app runs the Emacs preset's bindings, whatever | ||
| 683 | 686 | - Option acts as Meta when the key starts a binding (=M-RET=, =M-<left>=); otherwise Option types characters as usual. |
| 684 | 687 | - Keys with =⌘= are left to iOS. |
| 685 | 688 | - Movement and editing keys bound to =edit.= commands (=C-a=, =C-e=, =C-k= and so on) are left to the iOS text system, except undo. |
| 686 | - Of the =app.= commands only clock in, clock out, cancel clock and go to clocked entry run from keys. Other =app.= keys, and editor commands such as narrowing, do nothing. | |
| 689 | - Of the =app.= commands only clock in, clock out, cancel clock and go to clocked entry run from keys. Other =app.= keys, and editor commands such as narrowing, show =Not available on iOS yet=. | |
| 690 | - A sequence of two or more keys whose command cannot run at the caret runs it anyway and shows its message, as on the Mac (for example =Not on a heading=). | |
| 687 | 691 | - A pending prefix shows as a message, without key hints. |
| 688 | 692 | |
| 689 | 693 | The on-screen key bar's buttons run what their Emacs keys run at the caret (Fold is =TAB=, Promote is =M-<left>=, TODO is =C-c C-t=). See [[file:14-ios.org][iOS]]. |
| @@ -694,7 +698,7 @@ Every binding in the three presets, generated from the presets themselves. Each | ||
| 694 | 698 | |
| 695 | 699 | - *Emacs* lists the Emacs preset's keys. |
| 696 | 700 | - *Mac* lists the Mac preset's keys, with macOS symbols. =⇥= is Tab and =↩= Return. |
| 697 | - *Doom* lists the keys the Doom preset adds. Every Emacs-preset key that starts with =C-c= or =C-x=, the =M-= and =S-= arrow keys, =M-RET=, =M-S-RET=, =C-RET= and =M-x= also work in the Doom preset, in normal, insert and visual states, so they are not repeated in the Doom column. Doom keys marked (N), (I) or (V) work only in normal, insert or visual state; unmarked ones work in all three. | |
| 701 | - *Doom* lists the keys the Doom preset adds. Every Emacs-preset key that starts with =C-c= or =C-x=, the =M-= and =S-= arrow keys, =M-RET=, =M-S-RET=, =C-RET=, =M-x= and =M-q= also work in the Doom preset, in normal, insert and visual states, so they are not repeated in the Doom column. Doom keys marked (N), (I) or (V) work only in normal, insert or visual state; unmarked ones work in all three. | |
| 698 | 702 | |
| 699 | 703 | When a key appears in several rows, it runs the command whose condition holds at the caret: for example =M-<right>= demotes a heading, indents a list item and moves a table column. The descriptions say where each one applies. Movement and text editing in the Doom preset are the Vim keys above, so the Doom column is empty for those rows. |
| 700 | 704 | |
| @@ -738,13 +742,16 @@ When a key appears in several rows, it runs the command whose condition holds at | ||
| 738 | 742 | | Find Previous (=edit.find-previous=) | — | — | — | Goes to the previous match. | |
| 739 | 743 | | Use Selection for Find (=edit.use-selection-for-find=) | — | — | — | Puts the selection in the find bar. | |
| 740 | 744 | | Complete at Point (=editor.complete=) | =C-M-i= | — | =C-SPC= (I), =C-@= (I) | Completes what is typed at the caret: =#+= keywords and their values, link types, entities, tags, TODO keywords, headings, drawers, properties, src languages and header arguments, and =<s=-style templates (=completion-at-point=). One candidate is inserted; several open a list. | |
| 741 | | Fill Paragraph (=org.fill-paragraph=) | =M-q= | =⌃⌘P= | — | Refills the paragraph or list item to the fill column (=org-fill-paragraph=). | | |
| 745 | | Fill Paragraph (=org.fill-paragraph=) | =M-q= | =⌃⌘P= | — | Refills the paragraph or list item to the fill column (=org-fill-paragraph=). In the Doom preset, =gq= and =gw= fill the lines a motion covers; see [[*Operators][Operators]]. | | |
| 742 | 746 | |
| 743 | 747 | ** Outline: visibility and narrowing |
| 744 | 748 | |
| 745 | 749 | | Command | Emacs | Mac | Doom | What it does | |
| 746 | 750 | |-+-+-+-+-| |
| 747 | | Cycle Visibility (=org.cycle=) | =TAB= | =⇥= | =TAB= (N, V), =z a= (N), =z c= (N), =z o= (N) | On a heading, cycles its subtree through folded, children and everything; on the first or last line of a drawer or block, folds or unfolds it (=org-cycle=). Elsewhere, =TAB= types a tab in the Emacs and Mac presets. | | |
| 751 | | Cycle Visibility (=org.cycle=) | =TAB= | =⇥= | =TAB= (N, V) | On a heading, cycles its subtree through folded, children and everything; on the first or last line of a drawer or block, folds or unfolds it (=org-cycle=). Elsewhere, =TAB= types a tab in the Emacs and Mac presets. | | |
| 752 | | Toggle Fold (=org.fold.toggle=) | — | — | =z a= (N) | On a heading line, opens a folded heading one level or folds an open one (=+org/toggle-fold=). | | |
| 753 | | Open Fold (=org.fold.open=) | — | — | =z o= (N) | On a heading line, opens a folded heading one level (=+org/open-fold=). | | |
| 754 | | Close Fold (=org.fold.close=) | — | — | =z c= (N) | Folds the subtree the caret is in (=outline-hide-subtree=). | | |
| 748 | 755 | | Cycle Global Visibility (=org.cycle-global=) | =S-TAB= | =⇧⇥= | =S-TAB=, =z A= (N) | Cycles the whole file through overview, contents and everything (=org-global-cycle=). | |
| 749 | 756 | | Narrow to Subtree (=org.narrow.subtree=) | =C-x n s= | — | =SPC m s n= (N) | Shows only the current subtree (=org-narrow-to-subtree=). | |
| 750 | 757 | | Narrow to Block (=org.narrow.block=) | =C-x n b= | — | — | Shows only the current block (=org-narrow-to-block=). | |
| @@ -759,8 +766,8 @@ When a key appears in several rows, it runs the command whose condition holds at | ||
| 759 | 766 | |-+-+-+-+-| |
| 760 | 767 | | Next Heading (=org.heading.next=) | =C-c C-n= | =⌥⌘↓= | — | Moves to the next heading (=org-next-visible-heading=). | |
| 761 | 768 | | Previous Heading (=org.heading.previous=) | =C-c C-p= | =⌥⌘↑= | — | Moves to the previous heading (=org-previous-visible-heading=). | |
| 762 | | Next Heading at Same Level (=org.heading.forward-same-level=) | =C-c C-f= | — | =g j= (N), =] h= (N) | Moves to the next heading at the same level (=org-forward-heading-same-level=). | | |
| 763 | | Previous Heading at Same Level (=org.heading.backward-same-level=) | =C-c C-b= | — | =g k= (N), =[ h= (N) | Moves to the previous heading at the same level (=org-backward-heading-same-level=). | | |
| 769 | | Next Heading at Same Level (=org.heading.forward-same-level=) | =C-c C-f= | — | =] h= (N) | Moves to the next heading at the same level (=org-forward-heading-same-level=). | | |
| 770 | | Previous Heading at Same Level (=org.heading.backward-same-level=) | =C-c C-b= | — | =[ h= (N) | Moves to the previous heading at the same level (=org-backward-heading-same-level=). | | |
| 764 | 771 | | Up to Parent Heading (=org.heading.up=) | =C-c C-u= | — | =g h= (N) | Moves to the parent heading (=outline-up-heading=). | |
| 765 | 772 | | Go to Heading… (=org.goto=) | =C-c C-j= | — | =SPC m .= (N) | Asks for a heading of this file by its outline path and jumps to it (=org-goto=). | |
| 766 | 773 | | Insert Heading (=org.heading.insert=) | =M-RET= | =⌘↩= | — | Inserts a heading at the current level; on a list item, see Insert Item (=org-meta-return=, =org-insert-heading=). | |
| @@ -814,7 +821,7 @@ When a key appears in several rows, it runs the command whose condition holds at | ||
| 814 | 821 | | Set Priority B (=org.priority.set-b=) | — | — | — | Sets priority B. Bound only as a speed key. | |
| 815 | 822 | | Set Priority C (=org.priority.set-c=) | — | — | — | Sets priority C. Bound only as a speed key. | |
| 816 | 823 | | Remove Priority (=org.priority.remove=) | — | — | — | Removes the priority. Bound only as a speed key. | |
| 817 | | Set Tags (=org.tags.set=) | =C-c C-q= | =⌃⌘Q= | =SPC m q= (N) | Sets the heading's tags, with fast selection when =#+TAGS= has keys (=org-set-tags-command=). | | |
| 824 | | Set Tags (=org.tags.set=) | =C-c C-q= | =⌃⌘G= | =SPC m q= (N) | Sets the heading's tags, with fast selection when =#+TAGS= has keys (=org-set-tags-command=). | | |
| 818 | 825 | |
| 819 | 826 | ** Properties and column view |
| 820 | 827 | |
| @@ -835,7 +842,7 @@ When a key appears in several rows, it runs the command whose condition holds at | ||
| 835 | 842 | | Insert Timestamp (=org.timestamp.active=) | =C-c .= | =⌃⌘.= | =SPC m d t= (N) | Asks for a date and inserts an active timestamp, or changes the one at point (=org-timestamp=). | |
| 836 | 843 | | Insert Inactive Timestamp (=org.timestamp.inactive=) | =C-c != | =⌃⌥⌘.= | =SPC m d T= (N) | Same, inactive (=org-timestamp-inactive=). | |
| 837 | 844 | | Schedule (=org.schedule=) | =C-c C-s= | =⌃⌘S= | =SPC m d s= (N) | Asks for a date and sets =SCHEDULED= (=org-schedule=). | |
| 838 | | Set Deadline (=org.deadline=) | =C-c C-d= | =⌃⌘D= | =SPC m d d= (N) | Asks for a date and sets =DEADLINE= (=org-deadline=). | | |
| 845 | | Set Deadline (=org.deadline=) | =C-c C-d= | =⌃⌘E= | =SPC m d d= (N) | Asks for a date and sets =DEADLINE= (=org-deadline=). | | |
| 839 | 846 | | Increase Timestamp Part (=org.timestamp.up=) | =S-<up>= | =⌃⌘↑= | =C-S-k= (N, I) | On a timestamp, increases the part under the caret: year, month, day, hour or minute (=org-timestamp-up=). | |
| 840 | 847 | | Decrease Timestamp Part (=org.timestamp.down=) | =S-<down>= | =⌃⌘↓= | =C-S-j= (N, I) | On a timestamp, decreases the part under the caret (=org-timestamp-down=). | |
| 841 | 848 | | Timestamp One Day Later (=org.timestamp.day-later=) | =S-<right>= | =⌃⌘→= | =C-S-l= (N, I) | On a timestamp, moves it one day later (=org-timestamp-up-day=). | |
| @@ -856,7 +863,7 @@ When a key appears in several rows, it runs the command whose condition holds at | ||
| 856 | 863 | | Next Table Field (=org.table.next-field=) | =TAB= | =⇥= | =TAB= (I) | In a table, aligns it and moves to the next field, adding a row at the end (=org-table-next-field=). | |
| 857 | 864 | | Previous Table Field (=org.table.previous-field=) | =S-TAB= | =⇧⇥= | =S-TAB= (I) | In a table, moves to the previous field (=org-table-previous-field=). | |
| 858 | 865 | | Next Table Row (=org.table.next-row=) | =RET= | =↩= | =RET= (I) | In a table, moves to the same field in the next row, adding a row at the end (=org-table-next-row=). | |
| 859 | | Align Table (=org.table.align=) | =C-c C-c= | — | =SPC m b a= (N) | In a table, aligns it (=org-table-align=). | | |
| 866 | | Align Table (=org.table.align=) | — | — | =SPC m b a= (N) | In a table, aligns it (=org-table-align=). =C-c C-c= in a table also aligns it; see Act at Point. | | |
| 860 | 867 | | Move Table Row Up (=org.table.row-up=) | =M-<up>= | =⌃⌘↑= | =M-k= | In a table, moves the row up (=org-table-move-row-up=). | |
| 861 | 868 | | Move Table Row Down (=org.table.row-down=) | =M-<down>= | =⌃⌘↓= | =M-j= | In a table, moves the row down (=org-table-move-row-down=). | |
| 862 | 869 | | Move Table Column Left (=org.table.column-left=) | =M-<left>= | =⌃⌘←= | =M-h=, =C-d= (I) | In a table, moves the column left (=org-table-move-column-left=). | |
| @@ -886,7 +893,7 @@ When a key appears in several rows, it runs the command whose condition holds at | ||
| 886 | 893 | |
| 887 | 894 | | Command | Emacs | Mac | Doom | What it does | |
| 888 | 895 | |-+-+-+-+-| |
| 889 | | Act at Point (C-c C-c) (=org.ctrl-c-ctrl-c=) | =C-c C-c= | — | — | Does what fits the context: sets tags on a heading, toggles an item's checkbox, follows a footnote, offers the property menu in a property drawer, updates a clock line, statistics cookie or timestamp, and refreshes the setup on a =#+= keyword line (=org-ctrl-c-ctrl-c=). After a sparse tree, the first =C-c C-c= only clears the highlights. More specific bindings take =C-c C-c= in tables, src blocks, =#+TBLFM= lines and dynamic blocks. | | |
| 896 | | Act at Point (C-c C-c) (=org.ctrl-c-ctrl-c=) | =C-c C-c= | — | — | Does what fits the context: sets tags on a heading, toggles an item's checkbox, follows a footnote, offers the property menu in a property drawer, updates a clock line, statistics cookie or timestamp, runs a =#+CALL:= line, inline =call_= or inline =src_= block, and refreshes the setup on a =#+= keyword line (=org-ctrl-c-ctrl-c=). In a table it evaluates a formula typed in the field (starting with ~=~ or ~:=~), then recalculates the row when it is marked =#= and otherwise aligns the table; at the table's first character it recalculates the whole table. After a sparse tree, the first =C-c C-c= only clears the highlights. More specific bindings take =C-c C-c= in src blocks, =#+TBLFM= lines and dynamic blocks. | | |
| 890 | 897 | | Act at Point (=org.dwim=) | — | — | =RET= (N) | Doom's =+org/dwim-at-point=: follows a link, runs a src block, recalculates or aligns a table, toggles a checkbox, or switches a heading between TODO and done. | |
| 891 | 898 | | Run Source Block (=org.babel.execute=) | =C-c C-c= | — | — | In a src block, runs it and inserts the results (=org-babel-execute-src-block=). | |
| 892 | 899 | | Tangle File (=org.babel.tangle=) | =C-c C-v t=, =C-c C-v C-t= | — | — | Writes the file's src blocks to their tangle targets (=org-babel-tangle=). | |
| @@ -904,7 +911,6 @@ When a key appears in several rows, it runs the command whose condition holds at | ||
| 904 | 911 | |
| 905 | 912 | | Command | Emacs | Mac | Doom | What it does | |
| 906 | 913 | |-+-+-+-+-| |
| 907 | | Export… (=app.export-dialog=) | =C-c C-e= | — | — | Opens the export sheet (=org-export-dispatch=). | | |
| 908 | 914 | | Export to HTML (=app.export.html=) | =C-c C-e h h= | — | =SPC m e h h= (N) | Exports to HTML (=org-html-export-to-html=). | |
| 909 | 915 | | Export to HTML and Open (=app.export.html-open=) | =C-c C-e h o= | — | =SPC m e h o= (N) | Exports to HTML and opens the result. | |
| 910 | 916 | | Export to Markdown (=app.export.markdown=) | =C-c C-e m m= | — | =SPC m e m m= (N) | Exports to Markdown (=org-md-export-to-markdown=). | |
| @@ -943,15 +949,16 @@ No preset binds these. Run them from the palette or a menu, or bind them in =key | ||
| 943 | 949 | | Board (=app.board=) | Opens the Board window. Window ▸ Board, =⇧⌘B=. | |
| 944 | 950 | | Cancel Running Block (=app.babel.cancel=) | Stops the src block that is running. Edit ▸ Cancel Running Block, =⌘.=. | |
| 945 | 951 | | Edit Config File (=app.edit-config=) | Opens =config.toml= in the editor. =⌥⌘,=. | |
| 952 | | Export… (=app.export-dialog=) | Opens the export sheet. In the Emacs and Doom presets =C-c C-e= is a prefix for the export keys only; pausing after it lists them in the key hints. | | |
| 946 | 953 | | Import from Emacs… (=app.import-emacs=) | Opens Import from Emacs…. | |
| 947 | 954 | | Revert to File on Disk (=app.revert=) | Replaces the buffer with the file on disk; unsaved changes go to recovery (=revert-buffer=). | |
| 948 | 955 | | Recovery Versions… (=app.recovery=) | Shows the recovery versions of the file. | |
| 949 | 956 | | Resolve Sync Conflicts… (=app.sync-conflicts=) | Shows the file's sync conflict copies to resolve them. | |
| 950 | 957 | | Import Table from File… (=app.table-import=) | Asks for a CSV, TSV or space-separated file and inserts it as a table (=org-table-import=). | |
| 951 | 958 | | Export Table to File… (=app.table-export=) | Writes the table at point to a CSV or TSV file (=org-table-export=). | |
| 952 | | Show or Hide Outline (=app.toggle-outline=) | Shows or hides the outline pane. View ▸ Show or Hide Outline. | | |
| 959 | | Show or Hide Outline (=app.toggle-outline=) | Shows or hides the outline pane. View ▸ Show or Hide Outline, =⌥⌘O=. | | |
| 953 | 960 | | Show or Hide Backlinks (=app.toggle-backlinks=) | Shows or hides the backlinks pane. View ▸ Show or Hide Backlinks. | |
| 954 | | Show or Hide Columns and Clock (=app.toggle-inspector=) | Shows or hides the columns and clock inspector. | | |
| 961 | | Show or Hide Columns and Clock (=app.toggle-inspector=) | Shows or hides the columns and clock inspector. View ▸ Show or Hide Columns and Clock, =⌥⌘I=. | | |
| 955 | 962 | | Show or Hide Markup (=app.toggle-markup=) | Shows or hides link brackets and emphasis markers. View ▸ Show Markup, =⇧⌘M=. | |
| 956 | 963 | | Show or Hide Line Numbers (=app.toggle-line-numbers=) | Shows or hides line numbers. View ▸ Show Line Numbers, =⇧⌘L=. | |
| 957 | 964 | | Show or Hide Tab Bar (=app.toggle-tab-bar=) | Shows or hides the tab bar. View ▸ Show Tab Bar. | |
| @@ -960,7 +967,7 @@ No preset binds these. Run them from the palette or a menu, or bind them in =key | ||
| 960 | 967 | | Column View of File (=org.columns.global=) | Shows the column view of the whole file (=org-columns= with =C-u=). | |
| 961 | 968 | | Remove Schedule (=org.schedule.remove=) | Removes =SCHEDULED= (=org-schedule= with =C-u=). | |
| 962 | 969 | | Remove Deadline (=org.deadline.remove=) | Removes =DEADLINE= (=org-deadline= with =C-u=). | |
| 963 | | Create ID (=org.id.create=) | Gives the entry an =ID= property unless it has one (=org-id-get-create=). | | |
| 970 | | Create ID (=org.id.create=) | Gives the entry an =ID= property, a lowercase UUID, unless it has one (=org-id-get-create=). | | |
| 964 | 971 | | Delete Property… (=org.property.delete=) | Asks for a property of the entry and deletes it (=org-delete-property=). | |
| 965 | 972 | | Delete Property Everywhere… (=org.property.delete-globally=) | Asks for a property and deletes it from every entry in the file (=org-delete-property-globally=). | |
| 966 | 973 | | Property Action… (=org.property.action=) | Offers set, delete and delete globally for the property at point (=org-property-action=). =C-c C-c= in a property drawer runs it. | |
docs/manual/guide/04-outlines.org +9 −4
| @@ -122,13 +122,16 @@ lines they do nothing. Orgstar has no =org-drag-element= for paragraphs. | ||
| 122 | 122 | |--------------------------------+-----------------------------------+-----------+--------+-------------------| |
| 123 | 123 | | Next Heading | =org-next-visible-heading= | =C-c C-n= | =⌥⌘↓= | =C-c C-n= | |
| 124 | 124 | | Previous Heading | =org-previous-visible-heading= | =C-c C-p= | =⌥⌘↑= | =C-c C-p= | |
| 125 | | Next Heading at Same Level | =org-forward-heading-same-level= | =C-c C-f= | menu | =g j=, =] h= | | |
| 126 | | Previous Heading at Same Level | =org-backward-heading-same-level= | =C-c C-b= | menu | =g k=, =[ h= | | |
| 125 | | Next Heading at Same Level | =org-forward-heading-same-level= | =C-c C-f= | menu | =] h= | | |
| 126 | | Previous Heading at Same Level | =org-backward-heading-same-level= | =C-c C-b= | menu | =[ h= | | |
| 127 | 127 | | Up to Parent Heading | =outline-up-heading= | =C-c C-u= | menu | =g h= | |
| 128 | 128 | | Go to Heading… | =org-goto= | =C-c C-j= | menu | =SPC m .= | |
| 129 | 129 | |
| 130 | 130 | Next and Previous Heading skip headings that are folded out of sight. The same-level |
| 131 | commands stop at the parent's boundary. Go to Heading asks for a heading by its outline | |
| 131 | commands stop at the parent's boundary. In Doom's normal state, =gj= and =gk= move by | |
| 132 | Org element, as evil-org's =org-forward-element= and =org-backward-element=: on a | |
| 133 | heading line, to the next heading after its subtree, or to the previous heading at the | |
| 134 | same level or higher (see [[file:03-keys.org][Keys and commands]]). Go to Heading asks for a heading by its outline | |
| 132 | 135 | path (=Project/Meetings/Kickoff=) with completion, as =org-goto= does with |
| 133 | 136 | =outline-path-completion=. |
| 134 | 137 | |
| @@ -696,7 +699,9 @@ Footnote Action depends on where the caret is: | ||
| 696 | 699 | number and creates its definition. |
| 697 | 700 | - Where a footnote can't go, it shows the footnote menu. |
| 698 | 701 | |
| 699 | =C-c C-c= on a reference or a definition's label does the same jumps. | |
| 702 | =C-c C-c= on a reference or a definition's label does the same jumps. After a jump to a | |
| 703 | definition, the echo area says how to get back: | |
| 704 | =Edit definition and go back with `C-c C-c' or `C-c C-x f' on its label.= | |
| 700 | 705 | |
| 701 | 706 | New definitions go in a level 1 heading named =Footnotes= at the end of the file, which |
| 702 | 707 | is created when needed (Org's =org-footnote-section=): |
docs/manual/guide/05-todos-and-tags.org +3 −3
| @@ -36,7 +36,7 @@ A file can set its own keywords, which replace the default ones for that file: | ||
| 36 | 36 | |
| 37 | 37 | - Each line is one sequence. =#+SEQ_TODO= means the same as =#+TODO=. |
| 38 | 38 | - Without a =|=, the last word is the done keyword. |
| 39 | - =#+TYP_TODO= marks a sequence of types (=org-todo-interpretation= =type=). The only difference Orgstar makes is in repeating tasks: a repeating entry returns to the keyword it had before it was done, instead of to the first keyword of the sequence. | |
| 39 | - =#+TYP_TODO= marks a sequence of types (=org-todo-interpretation= =type=). Cycling with =C-c C-t= from a type keyword goes to the sequence's first done keyword (see /Cycling/), and a repeating entry returns to the keyword it had before it was done, instead of to the first keyword of the sequence. | |
| 40 | 40 | - The order of sequences is the order Org uses: =#+TYP_TODO= lines first, then =#+TODO=, then =#+SEQ_TODO=. |
| 41 | 41 | - Lines inside blocks are ignored. Lines from a =#+SETUPFILE= count as if they came first in the file. |
| 42 | 42 | |
| @@ -73,7 +73,7 @@ With speed commands on (=org-use-speed-commands=), =t= at the start of a heading | ||
| 73 | 73 | =C-c C-t= behaves in one of two ways: |
| 74 | 74 | |
| 75 | 75 | - If any keyword in the file has a fast-selection key, it opens fast selection (=org-use-fast-todo-selection= =auto=). The default keywords all have keys, so this is what you get unless you define keywords without keys. |
| 76 | - Otherwise it cycles: no keyword, then each keyword of the first sequence in order, then no keyword again. From a keyword in another sequence it moves through that sequence and then to no keyword. | |
| 76 | - Otherwise it cycles: no keyword, then each keyword of the first sequence in order, then no keyword again. From a keyword in another sequence it moves through that sequence and then to no keyword. From a =#+TYP_TODO= keyword it goes straight to the sequence's first done keyword, as Org does; pressing =C-c C-t= again right away moves to the next type keyword instead. In the iOS app and the agenda, each press on a type keyword goes to the done keyword. | |
| 77 | 77 | |
| 78 | 78 | =S-<right>= and =S-<left>= never use fast selection. They step through every keyword of every sequence in order, then to no keyword, and wrap around. |
| 79 | 79 | |
| @@ -224,7 +224,7 @@ A tag consists of letters, digits, =_=, =@=, =#= and =%=. | ||
| 224 | 224 | |
| 225 | 225 | | Command | Org command | Emacs, Doom | Mac | Doom leader | |
| 226 | 226 | |-----------+---------------------------+---------------+-------+-------------| |
| 227 | | Set Tags | =org-set-tags-command= | =C-c C-q= | ⌃⌘Q | =SPC m q= | | |
| 227 | | Set Tags | =org-set-tags-command= | =C-c C-q= | ⌃⌘G | =SPC m q= | | |
| 228 | 228 | |
| 229 | 229 | =C-c C-c= on a heading line also runs Set Tags, and so does =:= as a speed command. |
| 230 | 230 | |
docs/manual/guide/06-dates-and-clocking.org +6 −4
| @@ -61,7 +61,7 @@ Org's prefix arguments are not available: to include the current time, type it, | ||
| 61 | 61 | |
| 62 | 62 | Every command that asks for a date shows the same prompt (=org-read-date=): a text field, the date the text reads as, and a month calendar. |
| 63 | 63 | |
| 64 | - Type a date in any of the forms below. The line above the field shows the result, such as =<2026-10-09 Fri 15:00>=, as you type. | |
| 64 | - Type a date in any of the forms below. The line above the field shows the result, such as =<2026-10-09 Fri 15:00>=, as you type; for an inactive timestamp it is in square brackets, =[2026-10-09 Fri 15:00]=. | |
| 65 | 65 | - Click a day in the calendar to answer with that day. A time you typed is kept. |
| 66 | 66 | - =S-<left>= and =S-<right>= in the field move the answer one day; =S-<up>= and =S-<down>= move it one week. |
| 67 | 67 | - =RET= accepts. An empty answer takes the default: the date of the timestamp being changed, or today. |
| @@ -138,7 +138,7 @@ DEADLINE: <2026-10-31 Sat -7d> SCHEDULED: <2026-10-20 Tue> | ||
| 138 | 138 | | Command | Org command | Emacs, Doom | Mac | Doom leader | |
| 139 | 139 | |------------------+------------------+-------------+------+-------------| |
| 140 | 140 | | Schedule | =org-schedule= | =C-c C-s= | ⌃⌘S | =SPC m d s= | |
| 141 | | Set Deadline | =org-deadline= | =C-c C-d= | ⌃⌘D | =SPC m d d= | | |
| 141 | | Set Deadline | =org-deadline= | =C-c C-d= | ⌃⌘E | =SPC m d d= | | |
| 142 | 142 | | Remove Schedule | =C-u C-c C-s= | | | | |
| 143 | 143 | | Remove Deadline | =C-u C-c C-d= | | | | |
| 144 | 144 | |
| @@ -165,7 +165,7 @@ When an entry with a repeater in an active timestamp changes from an active TODO | ||
| 165 | 165 | 5. Every active timestamp with a repeater in the entry moves forward: |
| 166 | 166 | - =+N= moves it by N once, which may leave it in the past. |
| 167 | 167 | - =++N= moves it by N until it is after today (for hours, after now). |
| 168 | - =.+N= sets it to today and then moves it by N. | |
| 168 | - =.+N= sets it to today and then moves it by N. With hours, =.+Nh=, the new time is N hours after the current time, to the minute, and a time range loses its end time. | |
| 169 | 169 | 6. =--= delays in those timestamps are removed. |
| 170 | 170 | |
| 171 | 171 | #+BEGIN_SRC org |
| @@ -257,7 +257,9 @@ The time shown is the time since you clocked in, not the entry's total. Each of | ||
| 257 | 257 | |
| 258 | 258 | ** Editing clock lines |
| 259 | 259 | |
| 260 | You can edit clock lines by hand. =S-<up>= and =S-<down>= change their timestamps as anywhere else, but do not update the duration after ~=>~. Press =C-c C-c= (or =C-c C-y=) on the line afterwards: Orgstar fixes both day names and writes the duration again (=org-clock-update-time-maybe=). | |
| 260 | You can edit clock lines by hand. =S-<up>=, =S-<down>=, =S-<left>= and =S-<right>= change their timestamps as anywhere else, and then write the duration after ~=>~ again, as =H:MM=. After typing changes yourself, press =C-c C-c= (or =C-c C-y=) on the line: Orgstar fixes both day names and writes the duration again (=org-clock-update-time-maybe=). | |
| 261 | ||
| 262 | =C-c .= with the caret on the =--= between the two timestamps of a clock line inserts a new timestamp there. Emacs replaces the second timestamp instead. | |
| 261 | 263 | |
| 262 | 264 | A line of the form ~CLOCK: => 1:15~, with only a duration, counts towards clock tables. |
| 263 | 265 | |
docs/manual/guide/07-agenda.org +5 −2
| @@ -49,7 +49,7 @@ The default view is =org-agenda-list=: a run of days, each with a header such as | ||
| 49 | 49 | |
| 50 | 50 | | Setting | Default | =config.toml= | Range in Settings | |
| 51 | 51 | |------------------------------+---------+-----------------------------------+-------------------| |
| 52 | | Days shown | 10 | =org-agenda-span = 10= | 1 to 31 | | |
| 52 | | Days shown | 10 | =org-agenda-span = 10= | 1 to 366 | | |
| 53 | 53 | | First day, relative to today | 3 days before | =org-agenda-start-day = "-3d"= | 0 to 14 days before | |
| 54 | 54 | |
| 55 | 55 | Both mirror the Emacs variables of the same name. The defaults are Doom's values, not plain Emacs's (a week starting today). =org-agenda-start-day= takes only day offsets such as ="-3d"= or ="+0d"=. There are no day, week or month view keys (=d=, =w=, =m= in Emacs) and no =org-agenda-start-on-weekday=: the span is a number of days and always begins at the configured offset. |
| @@ -326,6 +326,8 @@ The combined filter =/= reads terms such as: | ||
| 326 | 326 | |
| 327 | 327 | With two or more =+= categories, a line may have any of them. Tag terms all have to hold. |
| 328 | 328 | |
| 329 | The =/= prompt starts with the whole current filter written in this form, every term with its sign: categories, then tags, efforts and regexps, with categories that contain =-= in quotes. Pressing =Return= on it unchanged keeps the same filter. | |
| 330 | ||
| 329 | 331 | The =\= prompt reads every word as a tag, whether or not a line has it; there, ={regexp}= matches any tag that matches the regexp. The === prompt takes one regexp, with a leading =-= to drop matches. The =_= prompt takes one comparison such as =<0:30=. |
| 330 | 332 | |
| 331 | 333 | * The prefix and line layout |
| @@ -351,6 +353,7 @@ These are the defaults. =agenda= applies to the day view, =todo= to the TODO lis | ||
| 351 | 353 | | =%e= | The =Effort= property | |
| 352 | 354 | | =%l= | One space per heading level | |
| 353 | 355 | | =%b= | The outline path above the heading, each title followed by =->= | |
| 356 | | =%T= | The item's last tag, counting inherited tags | | |
| 354 | 357 | | =%i= | The category icon; always empty in Orgstar | |
| 355 | 358 | |
| 356 | 359 | Each field takes Org's modifiers: =%-12c= pads to 12 columns on the right (=%12c= on the left); =%-12.6c= limits a category to 5 characters; =%?t= leaves the field out entirely when empty; a punctuation character after the width (=%-12:c=) is added after a non-empty value. When the format contains =%t=, times move out of the heading text into the prefix, as =org-agenda-remove-times-when-in-prefix= does. =%(…)= Lisp forms are accepted but always empty. |
| @@ -439,7 +442,7 @@ The Agenda tab shows the same views from the same files, using the settings in t | ||
| 439 | 442 | - The Views menu lists the built-in views, your saved views, and Tags and Properties…, which asks for a match string. There is no TODO-only match from the menu; use =/!= in the match or a =todo-match= view. Today, Earlier and Later are in the same menu. |
| 440 | 443 | - Pull down to refresh. |
| 441 | 444 | - The Filter button opens a sheet: type a filter as for =/=, or tap a tag or category to cycle between Keep, Leave out and no filter. |
| 442 | - Tap an entry to open it. Swipe left on an open TODO to mark it done with the first done keyword of its sequence. | |
| 445 | - Tap an entry to open it. Swipe left on an open TODO to mark it done with the first done keyword of its sequence, as the file defines its keywords: the default keywords from =config.toml=, the file's own =#+TODO= lines, and those of its setup files, with unsaved edits in an open buffer included. | |
| 443 | 446 | - Touch and hold an entry for TODO State…, Schedule…, Deadline…, Tags…, Priority…, Clock In, Refile… and Archive…. |
| 444 | 447 | - There are no keyboard commands, time grid lines, habit graphs, log mode, bulk marks or custom prefix formats. |
| 445 | 448 | - Reminders are set while the app is open. iOS allows at most 64 pending notifications and the app can't add more while it isn't running, so the agenda's footer says how far ahead they go and asks you to open Orgstar to set later ones. |
docs/manual/guide/08-capture.org +5 −5
| @@ -27,7 +27,7 @@ Captures can also arrive from a browser through org-protocol, from Shortcuts, an | ||
| 27 | 27 | |
| 28 | 28 | A capture goes through up to three steps. |
| 29 | 29 | |
| 30 | 1. *Choose a template.* The window lists your templates with their keys and targets. Press a template's key, or click it. | |
| 30 | 1. *Choose a template.* The window lists your templates with their keys and targets. Type a template's key, or click it. For a key of several characters, such as =wb=, each character you type narrows the list to the templates whose keys start with what you typed, and the header shows the keys so far (=Capture: w=). =Delete= removes the last key typed. The template is chosen as soon as the keys match one. | |
| 31 | 31 | 2. *Answer its questions.* If the template has prompts (=%^{…}=, =%^g=, =%^t= and the others below), they appear as a form. Leave a field empty for its default. Press Return (Continue) to go on. |
| 32 | 32 | 3. *Edit and file.* The filled template appears in an editor, headed with the template's name and target, with the cursor where =%?= was. Press =⌘Return= (File It) to file it. |
| 33 | 33 | |
| @@ -35,7 +35,7 @@ Press Esc (Cancel) at any step to close the window without filing anything, as = | ||
| 35 | 35 | |
| 36 | 36 | Filing, the equivalent of =org-capture-finalize=, places the text in its target and saves it through the open buffer if the file is open, or into the file otherwise. A target file that doesn't exist is created, with its folders. The status line in the main window then says where the entry went. |
| 37 | 37 | |
| 38 | If filing fails, for example because a heading on an =olp= path is missing, the window stays open with your text, so you can try again after fixing the file or cancel. | |
| 38 | If filing fails, for example because a heading on an =olp= path is missing, the window stays open with your text and shows the error in red below it, so you can try again after fixing the file or cancel. | |
| 39 | 39 | |
| 40 | 40 | Limits compared with Emacs: |
| 41 | 41 | |
| @@ -65,9 +65,9 @@ The file is read each time the capture window opens. If it doesn't exist, or non | ||
| 65 | 65 | | =t= | Personal todo | =todo.org=, heading =Inbox= | =* TODO %?\n%i\n%a= | |
| 66 | 66 | | =n= | Personal notes | =notes.org=, heading =Inbox= | =* %u %?\n%i\n%a= | |
| 67 | 67 | |
| 68 | A problem in the file, such as a table without a key, shows in red under the template list; the other templates still load. | |
| 68 | A problem in the file, such as a table without a key, shows in red at the bottom of the window; the other templates still load. | |
| 69 | 69 | |
| 70 | Templates are a flat list. A key is matched against a single key press, so a key longer than one character can only be chosen by clicking. Emacs's template groups (an entry with only a key and a description) have no equivalent. | |
| 70 | Templates are a flat list. Keys of several characters are typed one character at a time, as in Emacs, but Emacs's template groups (an entry with only a key and a description) have no equivalent: the list shows every template whose key starts with what you typed. | |
| 71 | 71 | |
| 72 | 72 | ** Keys |
| 73 | 73 | |
| @@ -295,7 +295,7 @@ The sheet works as on the Mac, in a form: | ||
| 295 | 295 | - Prompts appear as fields. Date prompts have a date picker; choices and tags appear as buttons, and tapping a tag adds it. |
| 296 | 296 | - Continue fills the template and shows the text to edit; File files it; Cancel discards it. |
| 297 | 297 | |
| 298 | Differences from the Mac: there is no selection, clipboard, current file, user name or clock link to insert, so =%i= and =%a= are empty unless the capture came from a link or the share sheet, and =%c=, =%x=, =%f=, =%F=, =%n=, =%k= and =%K= are empty. An org-protocol link naming a template key that doesn't exist opens the sheet on the first template instead of reporting an error. | |
| 298 | Differences from the Mac: there is no selection, clipboard, current file, user name or clock link to insert, so =%i= and =%a= are empty unless the capture came from a link or the share sheet, and =%c=, =%x=, =%f=, =%F=, =%n=, =%k= and =%K= are empty. An org-protocol link naming a template key that doesn't exist opens the sheet on the first template and shows =No capture template "x"= with the key. | |
| 299 | 299 | |
| 300 | 300 | ** The share sheet |
| 301 | 301 | |
docs/manual/guide/09-links.org +29 −12
| @@ -55,13 +55,15 @@ A message in the echo area explains a link that can't be followed. | ||
| 55 | 55 | | =http=, =https=, =ftp=, =news=, =mailto= | =[[mailto:me@example.com]]= | Opened by macOS in your default browser or mail app. | |
| 56 | 56 | | =doi= | =[[doi:10.1000/182]]= | Opens =https://doi.org/= followed by the DOI. | |
| 57 | 57 | | =file= (also =file+sys:=, =file+emacs:=) | =[[file:notes.org::*Ideas]]= | See /File links/ below. | |
| 58 | | =id= | =[[id:6A3C…]]= | Opens the file with the heading whose =ID= property matches, and moves to the heading. | | |
| 58 | | =id= | =[[id:6a3c…]]= | Opens the file with the heading whose =ID= property matches, and moves to the heading. | | |
| 59 | 59 | | Custom ID | =[[#setup]]= | Moves to the heading in this file whose =CUSTOM_ID= property is =setup=. | |
| 60 | 60 | | Heading | =[[*Weekly review]]= | Moves to the heading in this file with that title. | |
| 61 | 61 | | Text | =[[budget table]]= | Searches this file: a =<<budget table>>= target, then =#+NAME: budget table=, then a heading. | |
| 62 | 62 | | Coderef | =[[(ref)]]= | Not supported. The echo area says so. | |
| 63 | 63 | | =shell=, =elisp= | =[[shell:ls]]= | Not run. Orgstar never executes these links. | |
| 64 | | =attachment=, =info=, =help=, others | | Not followed. The echo area says Orgstar can't open the type. | | |
| 64 | | =attachment= | =[[attachment:scan.pdf]]= | Opens the file in the entry's attachment folder; see /Attachment links/ below. | | |
| 65 | | Radio link | Text matching a =<<<radio target>>>= | Moves to the radio target. | | |
| 66 | | =info=, =help=, others | | Not followed. The echo area says Orgstar can't open the type. | | |
| 65 | 67 | |
| 66 | 68 | The text search follows =org-link-search=. A dedicated =<<target>>= matches its words |
| 67 | 69 | case-insensitively, with any run of blanks between them. A heading matches when its |
| @@ -69,8 +71,9 @@ title, with statistics cookies such as =[2/5]= and a leading =COMMENT= removed, | ||
| 69 | 71 | same words as the link, ignoring case. A search that starts with =*= looks at headings |
| 70 | 72 | only. Regular-expression searches (=/re/=) are not supported. |
| 71 | 73 | |
| 72 | Following a radio link looks for a dedicated target, a name or a heading with the same | |
| 73 | text. It does not jump to the =<<<radio target>>>= itself. | |
| 74 | Following a radio link moves to its =<<<radio target>>>=, matching the words without | |
| 75 | regard to case, as =org-link--search-radio-target= does. When the target is gone, the | |
| 76 | echo area shows =No match for radio target:= and the text. | |
| 74 | 77 | |
| 75 | 78 | ** File links |
| 76 | 79 | |
| @@ -97,6 +100,21 @@ After =::=, a file link can carry a search option: | ||
| 97 | 100 | | =#custom-id= | =[[file:notes.org::#setup]]= | The heading with that =CUSTOM_ID=. | |
| 98 | 101 | | Other text | =[[file:notes.org::budget]]= | A target, a =#+NAME= or a heading, as above. | |
| 99 | 102 | |
| 103 | ** Attachment links | |
| 104 | ||
| 105 | An =attachment:= link names a file in the attachment folder of the entry that holds | |
| 106 | the link, with org-attach's default settings. Relative folders are resolved against | |
| 107 | the folder of the file that holds the link: | |
| 108 | ||
| 109 | 1. When the entry has a =DIR= property, or the older =ATTACH_DIR=, that folder. | |
| 110 | 2. Otherwise, for an entry with an =ID=, the first of these folders that exists: | |
| 111 | =data/= followed by the ID's first two characters, =/= and the rest of the ID; | |
| 112 | =data/= followed by its first six characters, =/= and the rest; | |
| 113 | =data/__/=, the ID's first character, =/= and the whole ID. | |
| 114 | ||
| 115 | When the folder does not exist, the path is relative to the file's own folder. The file then opens as a =file:= link would, and | |
| 116 | a search option after =::= works the same way. | |
| 117 | ||
| 100 | 118 | ** id links |
| 101 | 119 | |
| 102 | 120 | =id:= links are resolved through the index, so the target heading must be in a file |
| @@ -125,7 +143,7 @@ stored links. It completes from: | ||
| 125 | 143 | |
| 126 | 144 | - your stored links, most recent first, and their descriptions; |
| 127 | 145 | - the link abbreviations defined in the file (see /Link abbreviations/); |
| 128 | - the link types =id=, =eww=, =rmail=, =mhe=, =irc=, =info=, =gnus=, =docview=, | |
| 146 | - the link types =attachment=, =id=, =eww=, =rmail=, =mhe=, =irc=, =info=, =gnus=, =docview=, | |
| 129 | 147 | =bibtex=, =bbdb=, =w3m=, =doi=, =file+sys=, =file+emacs=, =shell=, =news=, =mailto=, |
| 130 | 148 | =https=, =http=, =ftp=, =shortdoc=, =help=, =file= and =elisp=, each followed by =:=. |
| 131 | 149 | |
| @@ -196,7 +214,7 @@ Org identifies headings across files with an =ID= property. Two commands manage | ||
| 196 | 214 | | Org ▸ Store ID Link | =org-id-get-create= + =org-id-store-link= | Doom =SPC m l i=; no key in Emacs or Mac | |
| 197 | 215 | |
| 198 | 216 | Create ID gives the heading at the caret an =ID= property if it doesn't have one. The |
| 199 | ID is a new UUID in upper case, for example =6A3C2F9E-…=. Before the first heading, | |
| 217 | ID is a new UUID in lower case, for example =6a3c2f9e-…=, as =org-id-uuid= makes them. Before the first heading, | |
| 200 | 218 | the property goes into the file-level property drawer. |
| 201 | 219 | |
| 202 | 220 | Store ID Link does the same, then stores an =id:= link to the heading with its title |
| @@ -216,8 +234,7 @@ link carries that search, as =id:…::search=, which mirrors =org-id-link-use-co | ||
| 216 | 234 | =<<<radio target>>>= makes every other occurrence of its words in the file a link, |
| 217 | 235 | matched case-insensitively and between non-word characters. Radio links are |
| 218 | 236 | highlighted as links and exported as links to the target (see |
| 219 | [[file:12-export.org][Export]]). Following one in the editor does not reach the | |
| 220 | radio target; see /What each link type does/. | |
| 237 | [[file:12-export.org][Export]]). Following one moves to the radio target. | |
| 221 | 238 | |
| 222 | 239 | * Link abbreviations |
| 223 | 240 | |
| @@ -246,7 +263,8 @@ two sections: | ||
| 246 | 263 | - *Links to* the heading at the caret, named after that heading. |
| 247 | 264 | - *Links to this file*. |
| 248 | 265 | |
| 249 | Each row shows the linking heading and its file name. Click a row to open it. The | |
| 266 | Each row shows the linking heading and its file name; a link in the text before a | |
| 267 | file's first heading is listed under the file's name. Click a row to open it. The | |
| 250 | 268 | pane is shown by default and updates as you move the caret and edit. |
| 251 | 269 | |
| 252 | 270 | The pane looks at every org file in your sidebar folders, including unsaved changes |
| @@ -259,9 +277,8 @@ file: | ||
| 259 | 277 | heading; |
| 260 | 278 | - within the same file, =[[*Title]]=, =[[#custom-id]]= and =[[Title]]=. |
| 261 | 279 | |
| 262 | Links to targets, names and line numbers are not counted. Only links inside a heading's | |
| 263 | entry are indexed, so links in the text before a file's first heading don't appear. | |
| 264 | A heading's links to itself are left out. | |
| 280 | Links to targets, names and line numbers are not counted. A heading's links to itself | |
| 281 | are left out. | |
| 265 | 282 | |
| 266 | 283 | * Inline images |
| 267 | 284 | |
docs/manual/guide/10-tables.org +20 −11
| @@ -66,6 +66,12 @@ table command, not while you type. To align without moving, use Org ▸ Align Ta | ||
| 66 | 66 | | Mac | Org ▸ Align Table | |
| 67 | 67 | | Doom | =C-c C-c=, or =SPC m b a= | |
| 68 | 68 | |
| 69 | =C-c C-c= in a table is =org-ctrl-c-ctrl-c=, as in Emacs. It first evaluates a formula | |
| 70 | typed in the current field (see /Entering formulas/). Then, in a row marked =#= (see | |
| 71 | /Names, parameters and constants/), it recalculates that row, which also aligns the | |
| 72 | table; in any other row it aligns the table. With the caret at the table's very first | |
| 73 | character, it recalculates the whole table instead. | |
| 74 | ||
| 69 | 75 | To align every table when a file opens, set =org-startup-align-all-tables= to =true= |
| 70 | 76 | in the config file (default =false=), or put =#+STARTUP: align= in the file; |
| 71 | 77 | =#+STARTUP: noalign= turns it off for that file. See |
| @@ -210,6 +216,7 @@ Rows count data lines from 1; rules don't count. Columns count from 1. | ||
| 210 | 216 | | =@I+2= | Two data rows after the first rule. | |
| 211 | 217 | | =@2$3= | Row 2, column 3. | |
| 212 | 218 | | =$0= | The current column. | |
| 219 | | =@0= | The current row: =@0$2= is =$2=. | | |
| 213 | 220 | | =@#=, =$#= | The current row's or column's number, as a value. | |
| 214 | 221 | | =@2$1..@4$3= | A range: the fields of the rectangle, as a vector. | |
| 215 | 222 | | =$1..$3= | Columns 1 to 3 of the current row. | |
| @@ -289,7 +296,9 @@ so ~$3=$2/3;~ is formatted with =%.2f=. | ||
| 289 | 296 | folders, read from the file on disk. |
| 290 | 297 | |
| 291 | 298 | =REF= may use spreadsheet-style references such as =B3= (column B, row 3), which |
| 292 | become =@3$2=. | |
| 299 | become =@3$2=. A =REF= without a row, such as =$1..$2=, reads the row of the other | |
| 300 | table that has the current row's number. =NAME= can itself be a reference: in | |
| 301 | =remote($1,@1$1)=, the current row's first field holds the table's name. | |
| 293 | 302 | |
| 294 | 303 | ** Calc expressions |
| 295 | 304 | |
| @@ -445,9 +454,9 @@ There are three ways to set a formula. | ||
| 445 | 454 | |
| 446 | 455 | *With a prompt.* =org-table-eval-formula= asks for the formula (~Column formula $N=~ |
| 447 | 456 | or ~Field formula @R$C=~) with the stored one filled in, stores it and evaluates it in |
| 448 | the current field. An empty answer keeps the stored formula and evaluates it again, | |
| 449 | unlike Emacs, where an empty answer removes it. To remove a formula, delete it in the | |
| 450 | formula editor below or from the =#+TBLFM:= line. | |
| 457 | the current field. Clearing the prompt and pressing =Return= removes the stored | |
| 458 | formula, as in Emacs, and the echo area shows =Formula removed=. You can also delete a | |
| 459 | formula in the formula editor below or from the =#+TBLFM:= line. | |
| 451 | 460 | |
| 452 | 461 | | Command | Emacs | Mac | Doom | |
| 453 | 462 | |-------------------------------+----------+-----------------------------+----------| |
| @@ -462,8 +471,8 @@ prefix argument; use the menu item or type ~:=~ in the field. | ||
| 462 | 471 | grouped under =# Column Formulas=, =# Field and Range Formulas= and |
| 463 | 472 | =# Named Field Formulas=. A formula can continue on indented lines. =C-c '= or |
| 464 | 473 | =⌘Return= installs the formulas; =Escape= or =C-c C-k= leaves them unchanged. |
| 465 | Installing doesn't recalculate; do that next with =C-c C-c= on the =#+TBLFM:= line, or | |
| 466 | Org ▸ Recalculate Table in the Mac preset. | |
| 474 | Installing doesn't recalculate. The echo area says so and points to Recalculate Table: | |
| 475 | =C-c C-c= on the =#+TBLFM:= line, or Org ▸ Recalculate Table in the Mac preset. | |
| 467 | 476 | |
| 468 | 477 | The formulas are stored sorted the way =org-table-formula-less-p= sorts them. |
| 469 | 478 | |
| @@ -486,7 +495,7 @@ the table. Formulas are evaluated once; Org's iterate-until-stable recalculation | ||
| 486 | 495 | |
| 487 | 496 | Tables are not recalculated automatically. Rows marked =#= are not recalculated when |
| 488 | 497 | you press =TAB= or =RET= in them, as =org-table-maybe-recalculate-line= would do in |
| 489 | Emacs; recalculate with one of the commands above. | |
| 498 | Emacs; recalculate with one of the commands above, or with =C-c C-c= in the row. | |
| 490 | 499 | |
| 491 | 500 | * When Emacs is needed |
| 492 | 501 | |
| @@ -515,10 +524,10 @@ If the table's formulas contain Lisp, Orgstar asks first: | ||
| 515 | 524 | table's text in this file, so the question isn't asked again until the text changes. |
| 516 | 525 | |
| 517 | 526 | Entering a formula that needs Emacs with ~C-c =~, Set Field Formula or ~=~ in a field |
| 518 | is not handed to Emacs. The echo area shows =The formula was stored; recalculating it | |
| 519 | needs Emacs= and the reason, but the table and its =#+TBLFM:= line stay unchanged. | |
| 520 | Add such a formula in the formula editor or by editing the =#+TBLFM:= line, then | |
| 521 | recalculate the table, which runs it in Emacs. | |
| 527 | is not handed to Emacs. The formula is stored in the =#+TBLFM:= line and the field is | |
| 528 | left as it was; the echo area shows =The formula was stored; recalculating it needs | |
| 529 | Emacs= and the reason. =TAB= and =RET= still move to the next field. Recalculate the | |
| 530 | table to run the formula in Emacs. | |
| 522 | 531 | |
| 523 | 532 | For how Orgstar and Emacs share files, see |
| 524 | 533 | [[file:15-alongside-emacs.org][Using Orgstar alongside Emacs]]. |
docs/manual/guide/11-code-blocks.org +6 −6
| @@ -82,7 +82,7 @@ The block's text is remembered when the run starts. If you edit the block while | ||
| 82 | 82 | |
| 83 | 83 | ** Languages that run |
| 84 | 84 | |
| 85 | On the Mac, Orgstar starts each interpreter through =/usr/bin/env=. Because an app opened from the Dock does not see your shell's =PATH=, Orgstar adds =/opt/homebrew/bin=, =/usr/local/bin=, =/usr/bin= and =/bin= to the end of it. | |
| 85 | On the Mac, Orgstar starts each interpreter through =/usr/bin/env=. Because an app opened from the Dock does not see your shell's =PATH=, Orgstar adds =/opt/homebrew/bin=, =/usr/local/bin=, =/Library/TeX/texbin=, =/usr/bin= and =/bin= to the end of it. | |
| 86 | 86 | |
| 87 | 87 | | Language | Program run | |
| 88 | 88 | |------------------------------------------------------------------+-----------------------------------------------------| |
| @@ -118,11 +118,11 @@ When a block's =:var= or =:stdin= refers to other blocks that have to run first, | ||
| 118 | 118 | |
| 119 | 119 | | Value | Effect | |
| 120 | 120 | |------------------------------------------+------------------------------------------------------------| |
| 121 | | =never=, =no=, =never-export=, =no-export= | The block does not run: "Evaluation of this /language/ code block is disabled." | | |
| 121 | | =never=, =no= | The block does not run: "Evaluation of this /language/ code block is disabled." | | |
| 122 | 122 | | =query= | Asks every time, with only =yes= and =no=. A block reached through =:var= with =:eval query= makes the whole chain ask every time. | |
| 123 | 123 | | anything else, or absent | Runs after the trust prompt. | |
| 124 | 124 | |
| 125 | Orgstar does not export by running blocks, so =never-export= and =no-export= also stop the block from running interactively. In Org these two values only stop evaluation during export. | |
| 125 | =never-export= and =no-export= only stop evaluation during export in Org. Orgstar does not run blocks during export, so with these values the block runs from =C-c C-c= like any other. | |
| 126 | 126 | |
| 127 | 127 | ** Cancelling a run |
| 128 | 128 | |
| @@ -257,7 +257,7 @@ Orgstar merges header arguments in this order, each layer overriding the ones be | ||
| 257 | 257 | 4. =#+HEADER:= lines above the block. |
| 258 | 258 | 5. For a call, the call's arguments (see Calls below). |
| 259 | 259 | |
| 260 | A property written with a =+=, such as =header-args+=, adds to the value inherited from above instead of replacing it. | |
| 260 | A property written with a =+=, such as =header-args+=, adds to the value inherited from above instead of replacing it. In a property drawer, =:header-args:sh:= is one property name, so its value applies only to =sh= blocks. | |
| 261 | 261 | |
| 262 | 262 | #+BEGIN_SRC org |
| 263 | 263 | ,#+PROPERTY: header-args :results output |
| @@ -522,7 +522,7 @@ Text src_sh{echo hi} {{{results(=hi=)}}} end. | ||
| 522 | 522 | |
| 523 | 523 | Running again replaces the macro. With =:results raw= the result goes in as it is, without the macro. An inline result must be one line, and a table result must be a single cell. |
| 524 | 524 | |
| 525 | An inline call, =call_double(n=6)=, has the same parts as a =#+CALL:= line: =call_name[inside](arguments)[end]=. Orgstar reads inline calls and writes their results the same way as inline blocks, but =C-c C-c= on an inline call does not run it. Use a =#+CALL:= line instead. | |
| 525 | An inline call, =call_double(n=6)=, has the same parts as a =#+CALL:= line: =call_name[inside](arguments)[end]=. =C-c C-c= on an inline call runs it, and its result is written after it as a =results= macro, as for inline blocks. | |
| 526 | 526 | |
| 527 | 527 | * Emacs Lisp blocks |
| 528 | 528 | |
| @@ -570,7 +570,7 @@ All three are in the Org menu and the command palette. The Mac preset has no key | ||
| 570 | 570 | | =:tangle= | Target | |
| 571 | 571 | |-------------------+-------------------------------------------------------------------------------------------------| |
| 572 | 572 | | =no= (default) | Not tangled. | |
| 573 | | =yes= | The Org file's name with the language as extension: =el= for =emacs-lisp= and =elisp=, =bib= for =bibtex=, otherwise the language name itself (=notes.sh= for =sh=, =notes.python= for =python=). | | |
| 573 | | =yes= | The Org file's name with the language's extension, as Org's language files define it (=org-babel-tangle-lang-exts=): =py= for =python=, =rb= for =ruby=, =pl= for =perl=, =cpp= for =C++=, =d= for =D=, =awk=, =sed=, =lua=, =hs= for =haskell=, =java=, =tex= for =latex=, =ly= for =LilyPond=, =F90= for =fortran=, =clj= for =clojure=, =cljs= for =clojurescript=, =cs= for =csharp=, =groovy=, =jl= for =julia=, =lisp=, =max= for =maxima=, =ml= for =ocaml=, =pde= for =processing=, =el= for =emacs-lisp= and =elisp=, and =bib= for =bibtex=. Any other language is its own extension (=notes.sh= for =sh=). | | |
| 574 | 574 | | a path | That file, relative to the Org file's folder. =~= is expanded. | |
| 575 | 575 | | Lisp | Evaluated as described under Lisp in header values, with =buffer-file-name= set to the Org file. | |
| 576 | 576 | |
docs/manual/guide/12-export.org +11 −9
| @@ -18,13 +18,13 @@ Export works on the file in the current editor, using its text as it is now, sav | ||
| 18 | 18 | | ODT | Export to ODT with Emacs | =C-c C-e o o= | =C-c C-e o o= | yes | |
| 19 | 19 | | Plain text | Export to Plain Text with Emacs | =C-c C-e t u= | =C-c C-e t u= | yes | |
| 20 | 20 | |
| 21 | The keys follow Emacs's export dispatcher (=org-export-dispatch=). The =SPC m e= keys work in normal state; the =C-c C-e= keys work in every Doom state. The Mac preset has no export keys. | |
| 21 | The keys follow Emacs's export dispatcher (=org-export-dispatch=). =C-c C-e= on its own is only a prefix: pause after it and the key hints list the formats. The =SPC m e= keys work in normal state; the =C-c C-e= keys work in every Doom state. The Mac preset has no export keys. | |
| 22 | 22 | |
| 23 | 23 | All seven commands are in File ▸ Export and in the command palette. They write the export beside the Org file, with the same name and the format's extension: =.html=, =.md=, =.pdf=, =.tex=, =.odt= or =.txt=. A file already there is replaced. The message area shows "Exported to /name/". |
| 24 | 24 | |
| 25 | 25 | ** The export dialog |
| 26 | 26 | |
| 27 | The command palette's *Export…* opens a dialog with: | |
| 27 | *Export…* in the command palette opens a dialog. No preset binds it to a key; bind =app.export-dialog= in =keymap.toml= if you want one (see [[file:03-keys.org][Keys and commands]]). The dialog has: | |
| 28 | 28 | |
| 29 | 29 | - *Format*: HTML, Markdown, PDF (Emacs), ODT (Emacs), LaTeX (Emacs) or Plain text (Emacs). |
| 30 | 30 | - *Destination*: beside the Org file by default. *Choose…* picks another place and name. Changing the format changes the extension. |
| @@ -125,6 +125,8 @@ A file that cannot be read is replaced by an empty line. | ||
| 125 | 125 | | ={{{title}}}=, ={{{author}}}=, ={{{date}}}=, ={{{email}}}= | That keyword's value. | |
| 126 | 126 | | ={{{keyword(NAME)}}}= | The value of =#+NAME:=. | |
| 127 | 127 | | ={{{input-file}}}= | The Org file's name. | |
| 128 | | ={{{property(NAME)}}}= | The value of property =NAME= of the entry the macro is in; =ITEM= gives the heading's title. Empty before the first heading. | | |
| 129 | | ={{{property(NAME,SEARCH)}}}= | The same for the entry =SEARCH= finds in this file: =*Title=, =#custom-id= or a title. | | |
| 128 | 130 | | ={{{n}}}=, ={{{n(name)}}}= | A counter, increased at each use. =n(name,-)= repeats the current value; =n(name,5)= sets it to 5. | |
| 129 | 131 | | ={{{time(format)}}}= | The current time, formatted as =format-time-string= does. | |
| 130 | 132 | |
| @@ -152,16 +154,16 @@ Links to =.org= files point to the =.html= file of the same name. Links to headi | ||
| 152 | 154 | |
| 153 | 155 | A source block is exported as =<pre><code class="language-LANG">=, with the code escaped and its common indentation removed. Orgstar does not color the code; the class lets a script or stylesheet in =#+HTML_HEAD= highlight it. Noweb references are shown as written. Line-number switches are ignored. |
| 154 | 156 | |
| 155 | The block's =:exports= argument decides what appears. Orgstar reads it from the =#+begin_src= line only. | |
| 157 | The block's =:exports= header argument decides what appears. Orgstar resolves it as running the block would: from the =#+begin_src= line, =#+HEADER:= lines, =header-args= properties and =#+PROPERTY:= lines (see [[file:11-code-blocks.org][Code blocks]]). Without one, it is =results= for =dot=, =plantuml=, =ditaa=, =gnuplot=, =latex= and =lilypond= blocks, as their Org defaults set it, and =code= for other languages. | |
| 156 | 158 | |
| 157 | 159 | | =:exports= | Exported | |
| 158 | 160 | |------------------+-------------------------------------------| |
| 159 | | =code= (default) | The code. | | |
| 161 | | =code= | The code. | | |
| 160 | 162 | | =results= | The block's existing =#+RESULTS:=. | |
| 161 | 163 | | =both= | The code, then the results. | |
| 162 | 164 | | =none= | Nothing. | |
| 163 | 165 | |
| 164 | An inline =src_= block is exported as its code in =<code>=. Results of =#+CALL:= lines and inline blocks are not exported. | |
| 166 | A =#+CALL:= line exports its existing results, never the call itself; =:exports code= or =none= on the call exports nothing. An inline =src_= block has =:exports results= by default: the ={{{results(…)}}}= after it is exported and its code is not. With =:exports code= the code is exported in =<code>= and the results are not; with =both=, both. An inline =call_= exports its results the same way, and the call itself never appears. | |
| 165 | 167 | |
| 166 | 168 | ** Other blocks and elements |
| 167 | 169 | |
| @@ -193,19 +195,19 @@ HTML and Markdown export handle citations the same way; see Citations below. | ||
| 193 | 195 | |
| 194 | 196 | Markdown export writes GitHub-flavored Markdown: |
| 195 | 197 | |
| 196 | - =#+TITLE:= becomes a top =#= heading. Org headings are one level down: =*= is =##=. TODO keywords and priorities stay in the heading text, and tags are shown as inline code. | |
| 198 | - =#+TITLE:= becomes a top =#= heading. Org headings are one level down: =*= is =##=. TODO keywords stay in the heading text, and tags are shown as inline code. Priority cookies are left out unless =#+OPTIONS= has =pri:t=. | |
| 197 | 199 | - Source blocks become fenced code blocks with the language; example blocks, =: = lines and table.el tables become fenced blocks without one. |
| 198 | 200 | - Tables become pipe tables. A rule after the first row makes it the header; otherwise the header row is empty. |
| 199 | 201 | - Checkboxes become task-list items (=- [x]=, =- [ ]=). |
| 200 | 202 | - Footnotes become =[^1]= references with the notes at the end. |
| 201 | 203 | - Quotes become =>= blocks. Verse lines end with two spaces. |
| 202 | - Images become ==. Links to =.org= files written without =file:= point to the =.md= file of the same name. | |
| 204 | - Images become ==. Links to =.org= files, with or without =file:=, point to the =.md= file of the same name; a search option after =::= is dropped. | |
| 203 | 205 | - =#+begin_export= blocks for =markdown=, =md= or =html=, and =@@html:…@@= snippets, are copied as they are. |
| 204 | 206 | - Underline, subscripts and superscripts are written as HTML tags. |
| 205 | 207 | - =:exports= is handled as in HTML export. |
| 206 | 208 | - Citations are handled as in HTML export. |
| 207 | 209 | |
| 208 | Markdown export is simpler than HTML export. It does not read =#+OPTIONS=, =#+EXCLUDE_TAGS= or =#+SELECT_TAGS=, does not leave out =noexport= or =COMMENT= headings, does not expand =#+INCLUDE:=, and drops macros. It writes no author or date. | |
| 210 | As in HTML export, =#+INCLUDE:= lines are expanded and macros replaced first, and =#+EXCLUDE_TAGS=, =#+SELECT_TAGS=, =COMMENT= headings and =ARCHIVE= tags decide which headings are exported (see /Which headings are exported/). Of the =#+OPTIONS=, Markdown export reads =todo=, =pri=, =tags=, =^= and =title=; the others do not apply. It writes no author or date. | |
| 209 | 211 | |
| 210 | 212 | * Exporting through Emacs |
| 211 | 213 | |
| @@ -223,7 +225,7 @@ Orgstar runs =emacs -Q --batch= in the Org file's folder. It opens the file, rep | ||
| 223 | 225 | What you need: |
| 224 | 226 | |
| 225 | 227 | - Emacs, at =ORGSTAR_EMACS= or one of =/opt/homebrew/bin/emacs=, =/usr/local/bin/emacs=, =/Applications/Emacs.app/Contents/MacOS/Emacs=, =/run/current-system/sw/bin/emacs= or =/usr/bin/emacs=. Without it the export fails with "Emacs isn't installed, so this format can't be exported." |
| 226 | - For PDF, a TeX installation that Emacs's LaTeX export can run. | |
| 228 | - For PDF, a TeX installation that Emacs's LaTeX export can run. Emacs runs with your =PATH= plus =/opt/homebrew/bin=, =/usr/local/bin=, =/Library/TeX/texbin=, =/usr/bin= and =/bin=, the same as code blocks get, so =latexmk= and =pdflatex= from MacTeX or Homebrew are found when Orgstar was opened from the Dock. | |
| 227 | 229 | |
| 228 | 230 | Things to know: |
| 229 | 231 | |
docs/manual/guide/13-configuration.org +8 −8
| @@ -9,7 +9,7 @@ Orgstar keeps its settings in a configuration folder: | ||
| 9 | 9 | - =$XDG_CONFIG_HOME/orgstar= when =XDG_CONFIG_HOME= is set and not empty, |
| 10 | 10 | - otherwise =~/.config/orgstar=. |
| 11 | 11 | |
| 12 | The environment variable =ORGSTAR_CONFIG_DIR= overrides both. If a file is missing from the configuration folder but exists in =~/Library/Application Support/Orgstar= (where earlier versions kept it), Orgstar reads it from there. | |
| 12 | The environment variable =ORGSTAR_CONFIG_DIR= overrides both. If a file is missing from the configuration folder but exists in =~/Library/Application Support/Orgstar= (where earlier versions kept it), Orgstar reads it from there, and reloads it when you edit it there. | |
| 13 | 13 | |
| 14 | 14 | The folder holds these files: |
| 15 | 15 | |
| @@ -98,7 +98,7 @@ See Themes and Fonts below. | ||
| 98 | 98 | |
| 99 | 99 | | Control | Range | Default | Key | |
| 100 | 100 | |-------------------------------------+------------------------+--------------+-----------------------------| |
| 101 | | Agenda shows N days | 1 to 31 | 10 | =org-agenda-span= | | |
| 101 | | Agenda shows N days | 1 to 366 | 10 | =org-agenda-span= | | |
| 102 | 102 | | Agenda starts N days before today | 0 to 14 days before | 3 days | =org-agenda-start-day= | |
| 103 | 103 | | Include files in subfolders | On or off | Off | =agenda-include-subfolders= | |
| 104 | 104 | | Notify before timed agenda entries | On or off | On | =reminders= | |
| @@ -194,7 +194,7 @@ The startup settings (=org-startup-*=, =org-hide-leading-stars=, =org-cycle-hide | ||
| 194 | 194 | | =todo= | string | =" %i %-12:c"= | Prefix of lines in the TODO list | |
| 195 | 195 | | =tags= | string | =" %i %-12:c"= | Prefix of tag and property matches | |
| 196 | 196 | |
| 197 | These mirror the entries of =org-agenda-prefix-format=. In the format, =%c= is the category, =%t= the time, =%s= the scheduled or deadline note, =%e= the effort, =%l= the level, =%b= the outline path, and a number such as =%-12= pads. See [[file:07-agenda.org][The agenda]]. | |
| 197 | These mirror the entries of =org-agenda-prefix-format=. In the format, =%c= is the category, =%t= the time, =%s= the scheduled or deadline note, =%e= the effort, =%l= the level, =%b= the outline path, =%T= the item's last tag (inherited tags included), and a number such as =%-12= pads. See [[file:07-agenda.org][The agenda]]. | |
| 198 | 198 | |
| 199 | 199 | ** [theme] |
| 200 | 200 | |
| @@ -256,7 +256,7 @@ save = "explicit" | ||
| 256 | 256 | |
| 257 | 257 | ** Names from earlier versions |
| 258 | 258 | |
| 259 | Earlier versions used keys such as =editor.fill-column= and =agenda.span=. Orgstar still reads them. At launch, a file that uses any of them is rewritten with the current names and every setting at its current value; comments you added are not kept. A file that lacks a whole section (such as =[theme]=) gets that section added at the end. | |
| 259 | Earlier versions used keys such as =editor.fill-column= and =agenda.span=. Orgstar still reads them. At launch, each such key in the file is renamed in place to its current name and moved to its current section; the rest of the file, and the comments on those lines, stay as they are. When a setting is in the file under both names, the current name wins and the old line is removed. A section the move leaves empty is removed. A file that lacks a whole section (such as =[theme]=) gets that section added at the end. | |
| 260 | 260 | |
| 261 | 261 | * keymap.toml and capture.toml |
| 262 | 262 | |
| @@ -274,7 +274,7 @@ command = "app.agenda" | ||
| 274 | 274 | |
| 275 | 275 | * In-file settings |
| 276 | 276 | |
| 277 | Keyword lines in a file set options for that file, as in Emacs. Orgstar reads them outside blocks; for =#+STARTUP= only lines at the element level count, so a =#+STARTUP= line inside a paragraph or a block doesn't change folding. | |
| 277 | Keyword lines in a file set options for that file, as in Emacs. Orgstar reads them outside blocks; for =#+STARTUP= only keyword lines count, so a =#+STARTUP= line inside a paragraph or a block changes nothing: not folding, logging or inline images. | |
| 278 | 278 | |
| 279 | 279 | ** Keywords Orgstar reads |
| 280 | 280 | |
| @@ -360,7 +360,7 @@ What Import does with each kind of item: | ||
| 360 | 360 | - Settings are written to =config.toml=. |
| 361 | 361 | - Folders are added to the sidebar if they exist and aren't there already. |
| 362 | 362 | - Capture templates are appended to =capture.toml=, except those whose key is already in the file. |
| 363 | - Key bindings are appended to =keymap.toml=. Running the import again appends them again. | |
| 363 | - Key bindings are appended to =keymap.toml=, except those already in the file with the same keys, command and state. Running the import again adds no duplicates. | |
| 364 | 364 | |
| 365 | 365 | The Not imported section lists what Orgstar read but can't use, with the reason: settings it has no equivalent for, values it can't work out without running Emacs, bindings to code rather than a command, and files it couldn't read. The footer counts variables that aren't about org, which are left alone. |
| 366 | 366 | |
| @@ -421,7 +421,7 @@ Any other =org-= or =appt-= variable is listed as having no equivalent. | ||
| 421 | 421 | |
| 422 | 422 | Capture templates are imported when their type is =entry=, =item=, =checkitem=, =plain= or =table-line=, their template is a string, and their target is =file=, =file+headline=, =file+olp=, =file+olp+datetree=, =file+datetree=, =file+weektree=, =id= or =clock=. The properties =:prepend=, =:immediate-finish=, =:jump-to-captured=, =:clock-in=, =:clock-keep=, =:clock-resume=, =:empty-lines=, =:empty-lines-before=, =:empty-lines-after=, =:tree-type= (=day=, =week=, =month=) and =:table-line-pos= carry over; others are listed as left out. Template groups (a key and a name only) are skipped. |
| 423 | 423 | |
| 424 | Key bindings are imported when the command is one Orgstar has a counterpart for, such as =org-todo=, =org-schedule=, =org-refile=, =org-capture= or =save-buffer=. Keys must be a string or =(kbd "…")=. In a Doom configuration, bindings without a state go to the =normal= state. | |
| 424 | Key bindings are imported when the command is one Orgstar has a counterpart for, such as =org-todo=, =org-schedule=, =org-refile=, =org-capture= or =save-buffer=. Keys must be a string or =(kbd "…")=; bindings with key vectors such as =[f5]= are skipped. In a Doom configuration, bindings without a state go to the =normal= state. | |
| 425 | 425 | |
| 426 | 426 | ** Limits of the Lisp reader |
| 427 | 427 | |
| @@ -469,7 +469,7 @@ To keep a theme in its own file, put it in the configuration folder with the sam | ||
| 469 | 469 | theme-file = "solarized.toml" |
| 470 | 470 | #+END_SRC |
| 471 | 471 | |
| 472 | The colors stack in this order, each over the one before: the default theme, the theme file, then the colors in =config.toml=. Orgstar reloads the theme file when it changes. Only colors are read from a theme file; =font= and the other type keys in its =[theme]= table are ignored. | |
| 472 | The colors stack in this order, each over the one before: the default theme, the theme file, then the colors in =config.toml=. The path is relative to the configuration folder and may name a subfolder, as =themes/solarized.toml=. Orgstar reloads the theme file when it changes. Only colors are read from a theme file; =font= and the other type keys in its =[theme]= table are ignored. | |
| 473 | 473 | |
| 474 | 474 | ** Color keys |
| 475 | 475 | |
docs/manual/guide/14-ios.org +11 −8
| @@ -42,7 +42,7 @@ Tap a file in Folders, Search or the agenda to read it. | ||
| 42 | 42 | |
| 43 | 43 | Tap Edit in the reader. The title shows the buffer name, with =•= while there are unsaved changes. The tab bar is hidden while you edit. |
| 44 | 44 | |
| 45 | The editor folds headings, drawers and blocks, styles text with the default theme, and runs the same Org commands as the Mac. Autocorrection, smart quotes and smart dashes are off; spell checking is on. | |
| 45 | The editor folds headings, drawers and blocks, styles text with the default theme, and runs the same Org commands as the Mac. Autocorrection, smart quotes and smart dashes are off; spell checking follows =spell-check= in =config.toml= and is off by default. | |
| 46 | 46 | |
| 47 | 47 | The toolbar has: |
| 48 | 48 | |
| @@ -102,6 +102,7 @@ With a hardware keyboard, the editor uses the Emacs keymap, whatever =keymap= is | ||
| 102 | 102 | - Command shortcuts are the system's. |
| 103 | 103 | - Keys the keymap leaves to the text system stay with iOS. These include the editing keys =C-a=, =C-e=, =C-k= and similar, which iOS handles itself. |
| 104 | 104 | - After a prefix such as =C-c=, the message line shows =C-c-= while it waits for the next key. An unbound sequence shows =… is undefined=. |
| 105 | - A sequence bound to a command that can't run at the caret, or that the iOS app doesn't have, shows why, as on the Mac: the command's own message (such as =Not on a heading=), or =Not available on iOS yet=. | |
| 105 | 106 | |
| 106 | 107 | See [[file:03-keys.org][Keys and commands]] for the Emacs bindings. |
| 107 | 108 | |
| @@ -121,7 +122,7 @@ The Agenda tab shows the agenda over all your folders, with the span and start d | ||
| 121 | 122 | - Views (the calendar icon) :: the built-in views and those in =views.toml=, Tags and Properties… (a match such as =+work-home= or =TODO="WAIT"=), and in the day view, Today, Earlier and Later. |
| 122 | 123 | - Filter :: keep or leave out tags and categories of the entries shown, or type a filter as Org's =/= takes it: =+keep= and =-drop= tags or categories, =<0:30= for effort, =/regexp/=. The status line shows the filter in use. |
| 123 | 124 | - Tap an entry to read it, at its heading. |
| 124 | - Swipe a TODO entry to the left to mark it done with the first done keyword of its sequence. | |
| 125 | - Swipe a TODO entry to the left to mark it done with the first done keyword of its sequence, as the file defines its keywords (with the default keywords, its =#+TODO= lines and its setup files). | |
| 125 | 126 | - Touch and hold an entry for TODO State…, Schedule…, Deadline…, Tags…, Priority…, Clock In, Refile…, and Archive…. |
| 126 | 127 | |
| 127 | 128 | Commands from the agenda change the file directly when it isn't open, and through the editor when it is. If the heading changed since the agenda was built, nothing runs. |
| @@ -139,7 +140,7 @@ Tap Capture (the pencil icon) in the Agenda or Folders tab. | ||
| 139 | 140 | |
| 140 | 141 | Templates come from =capture.toml= in the configuration folder (see Settings below). Without one, the two default templates apply. A template with =immediate-finish= files as soon as its questions are answered, and one with =jump-to-captured= opens the captured entry. =%^g= offers the target file's tags as choices. |
| 141 | 142 | |
| 142 | =org-protocol://capture= links opened on the device open the capture sheet with the link's template, URL, title and text. | |
| 143 | =org-protocol://capture= links opened on the device open the capture sheet with the link's template, URL, title and text. When the link names a template key that =capture.toml= doesn't have, the sheet starts on the first template and shows =No capture template "x"= with the key. | |
| 143 | 144 | |
| 144 | 145 | ** From the share sheet |
| 145 | 146 | |
| @@ -230,18 +231,20 @@ Changes to the files apply as they sync, and again each time you return to the a | ||
| 230 | 231 | |
| 231 | 232 | Stop Using This Folder returns every setting to its default. |
| 232 | 233 | |
| 233 | The In use section shows the TODO keywords, the agenda span and start, the reminder lead time, and the capture template keys in effect. | |
| 234 | The In use section shows the TODO keywords, the agenda span and start (for example =10 days, starting 3 days before today=), the reminder lead time, and the capture template keys in effect. | |
| 234 | 235 | |
| 235 | 236 | These settings from =config.toml= apply on iOS: |
| 236 | 237 | |
| 237 | 238 | - =org-todo-keywords=, =org-list-allow-alphabetical= |
| 238 | - =org-tags-column=, =org-insert-heading-respect-content=, =fill-column= | |
| 239 | - =org-tags-column=, =org-insert-heading-respect-content=, =org-M-RET-may-split-line=, =fill-column= | |
| 240 | - =org-hide-emphasis-markers= and =org-pretty-entities=, for how tag and table alignment and filling measure text, as on the Mac | |
| 239 | 241 | - =org-log-done=, =org-log-reschedule=, =org-log-redeadline=, =org-log-into-drawer= |
| 240 | - =electric-pair-mode= | |
| 242 | - =org-use-speed-commands=, with a hardware keyboard | |
| 243 | - =electric-pair-mode=, =spell-check= | |
| 241 | 244 | - =org-agenda-span=, =org-agenda-start-day=, =agenda-include-subfolders= |
| 242 | 245 | - =reminders=, =appt-message-warning-time= |
| 243 | 246 | |
| 244 | =capture.toml= and =views.toml= in the folder apply too. Other settings, including =keymap=, =save=, the theme and font, and the startup settings, don't apply on iOS. See [[file:13-configuration.org][Configuration]]. | |
| 247 | =capture.toml= and =views.toml= in the folder apply too. Other settings, including =keymap=, =save=, the theme and font, and the startup settings (=org-startup-*=, =org-hide-leading-stars=, =org-cycle-hide-*-startup=), don't change what the iOS reader and editor show. See [[file:13-configuration.org][Configuration]]. | |
| 245 | 248 | |
| 246 | 249 | * Spotlight and Quick Look |
| 247 | 250 | |
| @@ -260,4 +263,4 @@ Quick Look in the Files app shows org files as the HTML export renders them. | ||
| 260 | 263 | - The global capture hotkey and the Settings window. |
| 261 | 264 | - Explicit saving. |
| 262 | 265 | |
| 263 | Commands the iOS app can't carry out show a message instead, such as "Not available on iOS yet". Commands that only appear on the Mac, such as Refile from the editor, aren't listed in Commands; refile and archive from the agenda instead. | |
| 266 | Commands the iOS app can't carry out show a message instead, such as "Not available on iOS yet" or "/Command/ isn't available on iPhone and iPad." Only tables that need Emacs say that Emacs is needed. Commands that only appear on the Mac, such as Refile from the editor, aren't listed in Commands; refile and archive from the agenda instead. | |
docs/manual/guide/15-alongside-emacs.org +2 −1
| @@ -141,6 +141,7 @@ An app started from the Dock doesn't see your shell's =PATH=, which is why Orgst | ||
| 141 | 141 | - Orgstar writes a snapshot of the buffer to a temporary folder and runs Emacs on it, so unsaved edits are included. The working directory is the file's folder. |
| 142 | 142 | - File-local variables marked safe apply (=enable-local-variables= is =:safe=). |
| 143 | 143 | - Export doesn't run source blocks (=org-export-use-babel= is =nil=). The exported file is written next to the org file, as Emacs writes it, or moved to the place you chose. |
| 144 | - For export, Emacs gets your =PATH= with =/opt/homebrew/bin=, =/usr/local/bin=, =/Library/TeX/texbin=, =/usr/bin= and =/bin= added, as source blocks do, so the programs it starts, such as =pdflatex=, are found when Orgstar was opened from the Dock. | |
| 144 | 145 | - PDF export needs a LaTeX installation that Org's LaTeX exporter can run. |
| 145 | 146 | - A table recalculation that takes more than 60 seconds, or an export that takes more than 120 seconds, is stopped. Source blocks have a limit of 300 seconds, and =⌘.= (Cancel Running Block) stops one. |
| 146 | 147 | |
| @@ -234,4 +235,4 @@ Other: | ||
| 234 | 235 | - =#+SETUPFILE= URLs aren't fetched. |
| 235 | 236 | - Most =#+STARTUP= options for footnotes, entities, LaTeX previews, numbering and odd levels are accepted and ignored; see [[file:13-configuration.org][Configuration]]. |
| 236 | 237 | - =display-line-numbers-type= has no relative or visual mode. |
| 237 | - In the Doom preset, =ZQ= isn't available; use the window's close button. | |
| 238 | - =C-c .= with the caret on the =--= of a clock line's range inserts a new timestamp; Emacs replaces the second timestamp. | |