An org mode syntax I use heavily that I rarely see mentioned, including in this cheat sheet, is the obscurely named Radio Targets. Enclose any term or phrase in <<<tripple angle brackets>>>, hit C-c C-c on it, and then any previous or further instance of it in the same buffer will be automatically linked to it from then on. Incredibly useful when you're wroting notes on a long book for example and want to keep track of the instance when a term was defined. Turns an org file into its own wiki.
If you’re into this, you might also want to look at Howm-mode which offers such “comefrom links” also between files and it works well with Org-mode:
https://github.com/kaorahi/howm
See also Logseq, which is an open-source privacy-centric offline-first plaintext-based reimplementation of the UI/UX of Roam Research. The main author is an Emacs user, so obviously a lot of Org-mode influence too, and Org is a supported format.
Basically, think Org Roam, just with Electron instead of Emacs.
This is amusing to read because I just started learning org-mode the other day and ran into these immediately while trying to figure out how to link to a bulletpoint in a list later in the document (couldn't figure it out but it ended up being unnecessary in the end, so... progress).
To quickly link to bullet points, just use [[*My bullet point]] (if you omit the *, it may still work but Org also finds non-heading elements like table names with the same text).
Personally, I like to create custom ids for bullet points so that I can easily change the text in the bullet point later without breaking my links:
* My bullet point
:PROPERTIES:
:CUSTOM_ID: foo
:END:
This is easier with C-c C-x p (org-set-property).
Elsewhere, I can just write [[#foo]] to create a link to that bullet.
Hi, the docs are quite brief about this. Would ratio targets allow you to create a link to a website to the word <<<my site>>> would always lead to a corresponding link? Do you have an example of radio targets?
My Glossary:
- <<<Martin Prince>>>: Smart guy, gets bullied a lot Nelson Muntz
- <<<Nelson Muntz>>>: Troubled guy, does a lot of bullying to Martin Prince.
Watching the Simpsons, Martin Prince seems to get into a lot of altercations with Nelson Munz.
Any reference of "Martin Prince" or "Nelson Muntz" will be highlighted (YES, even in the definitions themselves) due to the radio targets in the document (you may have C-c C-c the target first to initialise it).
You can click on that highlighted text to jump to where it was first defined.
No, that wouldn't work. Radio Targets are intended for the precise repetitions of the same characters. If you surround a regular org link in three angle brackets, eg <<<[[https://www.bbc.com][bbc]]>>>, then the Radio link will clobber the web link on the target itself (ie C-c C-o won't take you anywhere), and it will only highlight repetitions of [[https://www.bbc.com][bbc]] rather than just bbc.
For something similar to what you're asking, I would just go for something like...
The <<<bbc>>> ([[https://www.bbc.com][site]]) is the UK's state broadcasting company. Now when I write bbc (or BBC) these will be highlighted as links and will take you back to the Radio Target in the first sentence and I can then click on the link
Also note that you can mark a word or region and then hit C-c n r (org-insert-radio-target-brackets) to surround it in angle brackets and enable it as a radio target.
I couldn’t find the command you mentioned “org-insert-radio-target-brackets” in my Emacs and it doesn’t appear to be in the manual[1] either. But of course it is very trivial to write, in case anyone else needs this:
(defun org-insert-radio-target-brackets (start end)
"Wraps a region with angular brackets to create a radio target."
(interactive "r")
(save-excursion
(goto-char end)
(insert ">>>")
(goto-char start)
(insert "<<<")))
(keymap-set org-mode-map "C-c n r" #'org-insert-radio-target-brackets)
Apologies, you're right - this was a function I'd forgotten that I'd defined myself! The main thing I would add to your definition is to finish with org-update-radio-target-regexp which does what C-c C-c would otherwise do in this context.
Here's how I defined it.
(defun org-insert-radio-target-brackets (&optional arg)
"Surround selected text with Org Radio Target angle brackets (eg. <<<arg>>>) and then find and update all radio targets"
(interactive)
(progn
(insert-pair arg "<<<" ">>>")
(org-update-radio-target-regexp)))
https://orgmode.org/manual/Radio-Targets.html