Org tutorials

171 dargscisyhp 73 7/23/2025, 3:09:20 AM orgmode.org ↗

Comments (73)

thecsw · 14h ago
Orgmode got me through college, research, and at work, it really is the perfected markup language that can do a lot more than just being a markup language. The extensibility and out of the box export to other formats makes it immediately useful for at least 80% of common tasks.

It has ingrained itself so deeply into my muscle memory that I built out a whole website builder [1] and extended the language to support all kinds of nice QoL things for my website [2].

Something that as the other commenter here noted—I can rely on orgmode for many decades to come.

[1] https://github.com/thecsw/darkness [2] https://sandyuraz.com

eviks · 12h ago
> As of 2025-02, there is no formal Org-mode syntax definition.

is very far away from perfection

nanna · 7h ago
> As of 2025-02, there is no formal Org-mode syntax definition.

Confusingly, you seem to have taken this from Karl Voit's website, without referencing having done so?

https://karl-voit.at/2017/09/23/orgmode-as-markup-only/

And then taken the sentence out of context. His point is that even though there isn't a formal Org-mode syntax definition, there is an informal one in that all of the Org mode syntax elements are part of the Emacs Org-mode implementation. The latest Org-mode implementation /is/ the spec. This is in comparison with Markdown where there are numerous syntax definitions and no implementation which includes all elements and everything is a mess.

eviks · 6h ago
> taken the sentence out of context

> This is in comparison with Markdown

This context is irrelevant, I'm not discussing how bad markdown is, but how great org mode is.

> The latest Org-mode implementation /is/ the spec.

You're just conflating the terms, that's not what a spec is, and having one has benefits that living impls don't have

pbmonster · 10h ago
> Orgmode got me through college, research, and at work, it really is the perfected markup language that can do a lot more than just being a markup language. The extensibility and out of the box export to other formats makes it immediately useful for at least 80% of common tasks.

With regards to your 80% claim, do you happen to know an extension that works well with pasting images from clipboard?

Over the years, my professional note taking has become extremely reliant on quickly pasting images (most often screenshots from papers or quick-and-dirty plots I made myself) from clipboard directly into the notes. The friction of doing this in vanilla org-mode is the only reason I'm not doing everything in org-mode.

v9v · 10h ago
I use org-download (https://github.com/abo-abo/org-download) for pasting images.
chke · 6h ago
jhoechtl · 14h ago
I have on gripe, that is the mixture between org structure and org document heradings. I know, they are the same, and such a distinction doesn't exist.

You can start a "document" at any place in the org hierachy. I would rather prefer a distintion between these two concepts.

medstrom · 9h ago
How would the distinction work?
NoboruWataya · 13h ago
I hear so many people rave about orgmode on HN, all of them emacs users. This seems obvious since it is an emacs feature after all, but if orgmode is so good, has it not been implemented outside of emacs? Is there a standalone orgmode implementation that non-emacs users should look into?
eadmund · 12h ago
> if orgmode is so good, has it not been implemented outside of emacs

Org Mode is that good, but part of its goodness is due to being in Emacs.

Emacs is not really an editor: it’s an easily user-extensible operating environment with a remarkably shallow learning curve (seriously: one can go years just setting variables before moving up to simple functions and then starting to explore). Having all that power so easily accessible is a part of what makes Org Mode great. It’s what means that each Org Mode user can mold his experience to his needs.

xenodium · 11h ago
I've written a handful iOS apps powered by org. Journelly is my latest https://xenodium.com/journelly-like-tweeting-but-for-your-ey...

I got quite a few users who either come from Markdown or simply don't care about the internal implementation. Here's a wonderful writeup by a user https://ellanew.com/ptpl/157-2025-05-19-journelly-is-org-for...

ps. Markdown is also coming to Journelly https://xenodium.com/markdown-is-coming-to-journelly

edit: My other org-based iOS apps

- Flat Habits (habits tracker): https://flathabits.com

- Plain Org (general purpose org viewer/editor): https://plainorg.com

- Scratch (a scratch buffer): https://apps.apple.com/us/app/scratch/id1671420139

stevekemp · 12h ago
There is an implementation for neovim, and some "viewer" applicatrions for android, etc:

https://orgmode.org/tools.html

Basics are easy to replicate, but one of the reasons why org is so useful is because it is tied into the emacs ecosystem, so you can write extensions/configuration tweaks in lisp. You can hookup agenda (calendars), etc, etc, and those things don't really translate so well to external tools.

If you had to write a lisp interpreter, and fake "bare minimum" compatability? At that point you'd be better off just running emacs for real.

amelius · 11h ago
> You can hookup agenda (calendars), etc, etc, and those things don't really translate so well to external tools.

Sounds like a replication of Unix inside an editor if you ask me.

vslavkin · 11h ago
Well, yes. I'd say that's what emacs is. A framework for, mostly, text based applications in lisp. The advantage is its "unified interface".

Everything is configured in the same language, uses mostly the same keybinds, and can easily be integrated with other apps of the framework.

BeetleB · 7h ago
I know you meant it as a criticism, but Emacs years view it as a feature.
input_sh · 9h ago
Wait until you learn many of the default bash keyboard shortcuts (like Ctrl + A / E to move to the beginning/end of the line) actually come from emacs.
anthk · 10h ago
If every Unix tool outputed TSV, yes. In Emacs everything it's Elisp.
rootnod3 · 8h ago
The biggest strength is not the file format or basically the org mode markdown flavor. The strength comes from integrating it with all the other Emacs stuff. Org-babel for example, think of it as a suped up Jupyter notebook. And it integrates with the emacs calendar/agenda. The closest you can get is maybe Obsidian's Dataview plugin, but it absolutely pales in comparison to Emacs Org.

It is one of THE main reasons for me to use Emacs.

eawgewag · 2h ago
Orgmode isn't really just a MD equivalent. It's the integration into Emacs and the entire platform that makes it so incredible and powerful. I would love an alternative because as TS developer I don't use Emacs anymore (non VSCode LSP is a nightmare to run) but it just doesn't exist :(
nurumaik · 12h ago
Standalone orgmode implementation is called emacs with org mode. I'm that person that uses emacs solely for orgmode and write code in other editors (vscode/zed/cursor), we also exist
thyristan · 11h ago
Same. I do use emacs with spacemacs, because that is the only thing that makes emacs viable to me, only to use it solely for orgmode.

Everything else happens in vim/nvim or zed.

DemiGuru · 46m ago
Have you considered incorporating orgmode plugin with Neovim? [https://github.com/nvim-orgmode]
ants_everywhere · 10h ago
I think it's kind of the other way around.

Emacs is a universal lisp environment, and org-mode is a lightweight markup language that works well with it.

You can port the markup language, but it's a heavy lift to port the lisp way of thinking to another language.

kashyapc · 7h ago
Like someone else mentioned in this thread, I'm not a "traditional" Emacs user. I use Emacs only for Org Mode; for the rest I use Vim, or occasionally something else. (For the rest of your question, there are some good responses from others.)
arethuza · 9h ago
There is an orgmode for VS Code that I used for a while:

https://github.com/vscode-org-mode/vscode-org-mode

rootnod3 · 8h ago
If it doesn't support Babel or Agenda, it loses 90% of the reason to use it.
durazabu · 10h ago
The reason is that elisp org-mode is huge and re-implementing it without elisp is a great undertaking.

I started an implementation in javascript that I integrated in an obsidian plugin [0]. But the plugin has a long way to go before reaching feature parity with emacs orgmode.

[0] https://github.com/BBazard/obsidian-orgmode-cm6

bananapub · 12h ago
1. it has, there's various mobile apps and a reimplementation for vim and vscode at least

2. it's very very good and having access to it is enough reason for some people to become emacs users, much like magit

pydry · 12h ago
orgzly revived for android is pretty great.

more tooling would be good though, especially command line tools to get data in and out.

doctor_blood · 13h ago
What would be the point? Without emacs all you're left with is another markup language.
sligor · 12h ago
What makes org mode tied to emacs ? I really need to try org mode to understand it. If only I had time...
skydhash · 10h ago
It’s really integrated into emacs.

First, you have the calendar, but it’s not just a date picker, it’s also shows holidays and other markers.

Then you have the capture (quick entry) where you have the full power of emacs environment plus lisp language to code anything you want. Emacs have other applications like a file manager, mail readers, document readers…, and you can capture the context as well as the note itself.

Then, there’s the agenda, which is fully customizable with a mix of options and code.

And there’s the exporters. Notice that emacs have support for most of the format, so it’s more like an handover to some other parts of emacs. But you don’t merely transform the document from org to html as an example. You extract the html from the org structure as you can filter sections out. Also a lot of options there (and code)

And code blocks (named babel). That you can execute.

So org can be a static document format or a dynamic environment. And all of that because of emacs as the buffer concept is very fluid. In emacs there are only buffers. Each buffer is assigned a major mode which is just a set of functions that does stuff on the buffer text. And you have the minor modes (more functions) that are more like plugins. And you’re free to hack on them. It’s just that the default set looks like a text editor.

pbmonster · 10h ago
As a very practical example: You take notes in org-mode, and as you do in many modern note-taking apps, you use copious links between notes.

But org-mode is inside Emacs, and Emacs is (can be) also your email client. So your notes can link to emails. Emacs is also your calendar. So your notes can link to events.

You can extend this to almost anything if you like Emacs enough. Your notes link to source code files (or your notes contain code, which can be executed from your notes). Emacs is also your git front end, so you could link to commits.

eawgewag · 2h ago
This is a great comment. My "Aha" moment with org-mode was when I started using it to track my TODOs on ongoing branch. I was able to link bookmarks to actual code from my org mode agenda, jump back and forth between my todo list and the actual code in my repo, add more, add context, etc.
Torwald · 11h ago
Elisp, but not really elisp, more the environment of elisp. It's a LISP machine. Hard to explain, it's a different way of computing. Another living instance of this model of computing is a Smalltalk image. Others have written about how LISPing makes you a better coder much better than I could. Try it out!
codethief · 10h ago
I disagree, Elisp doesn't tie org to Emacs at all. What does tie org to Emacs is the fact that Emacs' org-mode (i.e. the mode you use to edit org files) provides a great DevEx when editing org files, including lots of convenience shortcuts. (Again, the fact that those are written in Elisp is irrelevant.)
skydhash · 10h ago
It does. A lot of advanced options in Org have escape hatches for more code, and the fact that you configure org in Elisp and are free to hack on org provided functions due to the Elips environment add to its versality.
ubermonkey · 10h ago
I think you're missing what he's asking.

Orgmode includes agendas and whatnot in addition to the markup; any Org implementation somewhere else would need to include those.

silcoon · 11h ago
I wish there's something like Obsidian with the same support for org-mode that Emacs has. A few pros:

- Organize notes in org-mode is much quicker - The best support for lists (and I do list most of the times) - Tags and properties - Perfect integration with agenda - Great TODOs support - Code blocks with highlights, execution and results

dbmikus · 8h ago
Check out Org-Roam: https://www.orgroam.com/

It has some Obsidian-like features inside Org Mode.

So, if you're looking for an easier-to-use UI, it's not it, but if you're looking for Obsidian-like linking and backlinking, it has that.

medstrom · 10h ago
Logseq has buggy syncing and imposes some odd constraints on your files if you want to keep it easy to edit the same file from both Logseq and Emacs, but in principle, it's all there!

Not sure if it can execute code blocks tho.

kleinishere · 9h ago
What specific features / functions are most compelling for lists? Of course moving a tree around with different header levels. But anything specifically great with lists?
ubermonkey · 10h ago
After a few attempts over the years to move to emacs -- all them failures -- what finally got me to use it consistently was Org. The funny thing is I still don't use it for coding or other writing; emacs is on my computer as the org platform.

I am VERY interested in Obsidian, which seems like it could definitely support an org-like system. It's _almost_ there as far as my own use cases are concerned, and the seamless sync to mobile is really enticing.

But goddammit, my fingers now know how to move through org buffers pretty well, and Obsidian lags on that front, so I may be stuck. ;)

uludag · 15h ago
I'm on my seventh year of using org-mode for my task management. My system has slowly evolved over time but I'm pretty much still using the same single text file to manage everything. My main getting-things-done org-mode file is now at 6k lines long.

Before org-mode, I was always downloading different software to manage tasks and notes. The tool churn was very degrading to my productivity but I feel that commercial interests would keep turning the churn machine: new UI changes, enshitification, monthly subscriptions, etc.

It's such a refreshing feeling, sitting back, and feeling assured that for the next presumably 25 years of my career, and perhaps for the rest of my life, I can still be using org-mode, and it will always work as I learned it, but it's flexible enough to easily implement extensions.

lycopodiopsida · 9h ago
I try it regularly and I was running an org-mode based task management for a year and some months in between, but man, I do not have time and patience for sync conflicts in 2025. It can work but I have to be very cautious, and iCloud sync being a bit mysterious does not help. But I've also recognized that I don't have very complex projects, that GTD tools do not matter since their contents are transient by nature and that Apple Reminders is basically good enough. As a bonus it allows me to share Lists/Projects with my wife.
uludag · 7h ago
I totally understand this situation. I actually never had a good mobile set up when I was on iOS and only when switching to Android was able to finally setup something I liked using orgzly-revived, syncthing, and android Emacs.

As for GTD, I never did proper GTD until about a year ago, after reading the GTD book. I don't consider my life complex by any means, but I've been surprised at the amount of projects in my life that have been reified in my system.

lycopodiopsida · 6h ago
I am practicing GTD since ~15 years already, but while I stick to some practices (review, inbox and so on), I have a simpler setup for projects and files, sufficient for my needs. One of the lessons is that GTD and productivity systems are not about tools - I am equally productive (or unproductive) in emacs, omnifocus, reminders. The advantage of OF and reminders is that I don't have to look after sync, workflow-wise I quickly learn to navigate around idiosyncrasies of each of them and settle on the same workflow, helping myself with scripts and glue code where I need it.

This said, I still keep my long-term notes in denote, because it works and I don't trust Apple Notes for long-term stuff (missing built-in export).

Scarblac · 5h ago
Is there are good way to share org files between a laptop and a phone? I want to mark to-dos as done, add new ones and notes etc from both.
dargscisyhp · 2h ago
Syncthing, maybe?
Nesco · 14h ago
To people using org mode, how does it help you more than Markdown? Genuinely curious because I tried at some point and it felt too heavy.

Maybe because I am a vim user instead of eMacs?

impulsivepuppet · 14h ago
Org mode offers so much more than just syntax. You can use org files as a calendar, a todo/issue tracker with time accounting, a diary/knowledge base (zettelkasten, org-roam), as a literate programming tool (think jupyter code notebooks but for practically any programming language with org-babel), or a publishing tool (static site generator, latex/pdf export) all at the same time.

To be quite frank, Org mode is a lifestyle which existed long before Notion or Obsidian did. Saying that it has a barrier to entry is a bit of an understatement.

Having said all that, quite ironically, I've migrated over to Obsidian because I started using Intellij more for work, meaning that I don't need Emacs for its other capabilities all that much.

jcynix · 14h ago
Markdown is a markup tool, i.e. you decorate your text. Orgmode on the other hand is a complete toolbox where you can add tags to notes, filter on these tags, manage calendars, etc. You can enter tables both for formatting and spreadsheet like calculation.

And you can insert snippets of code into your notes, like

    #+BEGIN_SRC shell
       ls | wc -l
      find . -type f -name "*foo*" 
    #+END_SRC
(or javascript, elisp, html, ... instead of shell) where the markup is changed appropriately in these regions.

You can even augment orgmode with elisp code if you are so inclined.

polivier · 9h ago
`org-mode` used with Emacs is the tinkerer's dream playgound. Apart from the basic markdown stuff, there are so many wild things you can do. For example, org code blocks are not just the basic markdown code blocks that show formatted code. Org code blocks can actually be executed and can show the output of the code, inline. So you can write code blocks (that may include data found in variables/tables/etc elsewhere in the org file), then "refresh" your org file and all the inline outputs of the code blocks will be updated.
faustlast · 8h ago
Besides being a markup for structured text with special syntax for links/tables/math, here are my highlights that I use:

1. Code blocks that can be executed have their result captured

2. Links to everything

3. Drawing vector images (SVG) with a tablet

4. Perform calculations on tabular data (like a simple Excel sheet)

5. Agenda (connected to Google Calendar)

6. Spaced repetition system for language learning

7. LaTeX export for reports/presentations with citations

Expanding:

1.1. Execute code on different remote machines

1.2. Work with sessions and execute code asynchronously

1.3. Use noweb syntax for reusing code blocks

1.4. Tangle ("export") source blocks to files (locally or in a remote machine!)

1.5. Use a source block to generate a graph/plot and view the figure in the same place

1.6. Use narrow functionalities to automate script executions (example: execute all blocks in this section).

2.1. Links to PDF pages, commits/pr`s/branches, email, other files` particular lines, remote files, web pages, etc.

7.1. Very easy to select which sections I want to export or not

7.2. Include hand-drawn SVG graphics in the PDF output

7.3. Generate Beamer presentations

slightwinder · 8h ago
Markdown is just a markup-language, while orgmode is a tool-collection with a community of its own, which happens to also come with its own markup-language. That's not the same, and comparing them on that level makes little sense.

> Genuinely curious because I tried at some point and it felt too heavy.

Which part felt heavy? The syntax? The tooling? The setup? orgmode's purpose is to deliver an environment for managing your notes, tasks, data, etc. Of course, will it be more heavy than just the markup-language alone, as most documentation focuses on the tooling and which jobs you can execute with it. This more akin to a whole Office-suit, than a simple plaintext-editor.

stevekemp · 14h ago
First of all "emacs" rather than "eMacs".

But to answer your main question, markdown is used for writing text which can then be converted to HTML, PDF, etc, etc. It's used just to format things. org can be used in that way, and it might feel better/worse depending on what you feel about the choices used for various formatting styles.

However the big gain of org is that you can use it to format dynamic tables, handle todo-lists, have deadlines, recurring tasks, etc, etc. It makes no sense to compare org-files with markdown-files. It's like saying "I use notepad how does Excel help you do more?" - they do different thigns.

Now, much like excel, most people don't do everythign with org, but they can if they want to. It is extraordinarily flexible, and can be extended with custom lisp code if necessary.

I track rental properties with an org-document for each property, and I get per-year profit/loss statements in a neat format with graphs too. You can't do that with markdown.

MoreQARespect · 11h ago
Orgmode has standardized primitives for the things which exist in some markdown note taking implementations but differ from implementation to implementation.

Markdown doesn't have a built in concept of todo or tag or scheduled event, for instance. It wasn't built for that.

I hate emacs but orgmode is still the file format which contains all of the primitives I need for my notes which looks like it will have the most staying power. I hope to be able to edit the same files in 2035 using whatever brain-connection device everybody is using in the future that I used in 2015 running on a netbook with 1GB of RAM.

Markdown files from the note taking flavor of today will have to be migrated somehow.

myaccountonhn · 13h ago
I don't use it anymore but org-babel allows you to execute commands in code blocks. I would use that to build interactive explorations when learning how APIs work for example. I didn't find that nearly as seamless with Markdown.

Combined with org-agenda you also unlock a calendar with recurring events, task priorities and more.

moi2388 · 7h ago
I tried several times, but I just can’t get EMacs or org mode working.

It’s like every single functionality only works 90%, and breaks on the last 10% required to actually be a valid alternative :(

nanna · 7h ago
I think a hurdle one has to make to adopt Emacs is to stop expecting things to work as you might have come to expect them from other programmes. Sometimes this is for historical reasons, but the main reason is that Emacs just has it's own logic, which may seem counterintuitive at first but often has very good reasons behind it. Try to persist past through that final 10% and you may find there are reasons why they're as they are. And when you need help use the channels out there...
everybodyknows · 6h ago
Try asking your favorite LLM.

ChatGPT4o has been a godsend for adding helpful snippets of Elisp to my own ~/.emacs file.

jrm4 · 7h ago
Funny, I just posted a standalone question but I'll repeat it here:

Anyone out there using Generative AI to modify their environment et al? Basically to attack the whole "lisp" thing?

I see the potential in the power and would love to get back into it (I used Org-Mode for about a year then gave up on it) and wondering if anyone else has tried.

Kiboneu · 7h ago
Yes! I experimented with it on my EXWM setup. After some back and forth via Aider, it made me a module to help me control and monitor tasks on my timewarrior setup, giving me a pomodoro-like indicator on my taskbar (changing colors as it approaches one hour).

It was a cool experience! I had it evaluate the code via commands to the emacs daemon, without reloading EXWM (ballsy, but I was prepared for failure).

EXWM is extremely flexible, but there is a high barrier of entry to using and customizing it. Having an LLM embedded to a live-evaluate desktop environment makes the interface more approachable without reducing its flexibility as much.

It also allows you to create explicit controls that map to the user’s muscle memory and sub-symbolic sensing of the environment, while staying out of the way during normal usage — a different paradigm than embedding an agent as an interface in its own right to control the environment (via speech or text).

Since open source software is readily modifiable, maybe soon it will unironically be the year of the linux desktop.

hodanli · 15h ago
i like logseq as somewhat modern iteration of org-mode
account-5 · 14h ago
What lead you to choose that over say obsidian, notion, Joplin, and the many others that pretty much do the same thing?
jcynix · 14h ago
Orgmode is more than just a note keeping tool, it is a complete and complex toolbox. I can use tables like a spreadsheet, include source code snippets, etc.

Joplin is fine, especially for shared note keeping. We store its notes on a private WebDAV server and everyone in the family can access these notes from their laptops or mobile devices.

But the editing capabilities of Joplin are dismal. Try to swap lines (on a smartphone, no mouse), change the same term in a number of notes, or do some more complex editing operations. These are easily done in emacs/orgmode, even on a smartphone or tablet ... ,at least with emacs running in Termux under Android.

solarkraft · 11h ago
They do not do the same thing.

Logseq is an outliner (though it does have a document mode), which means a deep interaction with the document‘s hierarchy: You can zoom into blocks, collapse them (not ephemerally, it’s saved in the document) and link to them.

I’d probably use Obsidian if it had those features (since Logseq is still as buggy as it was years ago), but the last time I checked it did not.

innocentoldguy · 14h ago
I switched from Obsidian to Logseq because Logseq has better block-level support, better embedded image previews, and more functionality out of the box without having to rely on plugins

Why not Notion or Joplin? I like Logseq's outline format better than Joplin's long-form note taking format, and I just don't like Notion at all for purely subjective reasons.

anthk · 13h ago
Org-Mode with Hyperbole it's like doing computing in 2070, but without bullshit AI LLM's. Try it and you'll understand.

https://www.youtube.com/watch?v=cFdgpb0TeQo

If you are a Lisp programmer, you can OFC use ob-lisp with it (and maybe there's ob-elisp to learn Elisp in a literate way).

This is like a Jupyter netbook, with steroids. Org Babel:

https://orgmode.org/worg/org-contrib/babel/

Supported languages:

https://orgmode.org/worg/org-contrib/babel/languages/index.h...

aquariusDue · 11h ago
Hyperbole is the weirdest thing ever (in a good way), I can't exactly describe it to people either because it's a monolithic package that is made up of a number of packages (like the one for window control) but once you start using it and adopting it gradually you reach an epiphany. At that point the usefulness of Hyperbole is evident but until then nada, it seems more hassle than it's worth (though there are moments when it has bugs relating to other packages, like org, but those are quickly fixed by the maintainers in my experience).

Though a downside is that you end up curating a workflow that is so tailored to you that it seems weird from the outside, if it ever leaks, i.e. weird notation in git commit messages. That's due to sprinkling implicit and explicit "buttons" (pieces of text roughtly) throughout text (source code or otherwise).

tra3 · 8h ago
Can you share some of your use cases? Been on my radar for a while..
aquariusDue · 5h ago
The most straightforward would be opening URLs in various places. Sure, org-mode has something like this built-in and there's the Embark package that even has the embark-dwim command which saves you a keystroke basically, but I still prefer Hyperbole for this bit and it doesn't interfere with Embark either. Same goes for file and folder paths.

There's also more fine grained stuff like opening specific commits on GitHub for example. E.g. throw a gh#rswgnu/hyperbole/5ae3550 and when you M-RET on that "button" it automagically opens it in your browser.

You can insert "buttons" with labels on the fly in a buffer interactively by going through a menu like {C-h h i c} and specifying a label, its type and so on from a list of previously defined button types with their own properties. Those buttons in turn can call any command with preset arguments.

I can go to a file or hunk from the Magit status buffer by pressing the aforementioned Action button (binded to M-RET or a side mouse button too in my case).

I barely scratched the surface really.