Hacker News new | past | comments | ask | show | jobs | submit login
Org Mode 9.5 (orgmode.org)
211 points by todsacerdoti on Sept 30, 2021 | hide | past | favorite | 90 comments



I'm ADHD and Org-mode has majorly improved my capacity to organise my life, because it has let me create a system that integrates most things I do in a way that works for me and my quirks.

My current setup is....

- Capture todos as they pop into my head, inbox, browser, rss feed, etc, into a simple daily.org file whose parents are the dates of the events. Here's the org-capture-template:

  ("c" "Do on date" entry (file+olp+datetree "~/org/daily.org")
    "\* TODO %? %^G\n%t\n%a\n" :time-prompt t :clock-resume t)`
It outputs a tree like this:

  ** 2021-10 October
   *** 2021-10-01 Friday
    **** TODO Reply to Cecile about buying keyboard                        :PERSONAL:
    <2021-10-01 Fri>   
    [[mu4e:link-to-email][Re: Hello]]
   *** 2021-10-04 Monday
    **** TODO Haircut                                                      :PERSONAL:
    <2021-10-04 Mon 11:00>
- If it's part of a big project or more of a datastore, give it its own org file, and refile captures there. Use org-taskjuggler for Gantt charts.

- If it's a long standing task (eg work on book, read Practical Common Lisp) set it up as a habit so that not only it repeats at the desired intervals but I get a diagram which says how well I've kept it up.

- Anything to do with friends and birthdays go in contacts.org, so that I can keep an eye on how much I see people.

- Load up Org Agenda and commit to a todo by clocking in (I). I almost never check how long I've spent, it's more just about committing to myself. Mark things as done (t d) as appropriate.

- Archive DONEs ($) intermittently rather than immediately, so that I can remind myself that I've done stuff.

Stick to the rule that TODOs are only for things I expect myself to actually do, rather things I want myself to want to do. (my cycle is TODO DOING WAITING HOLD | DONE CANCELLED SCRATCH).

I used to have different org files for different projects/aspects of my life but refiling things created too much friction. Most things just need to go into daily.org, and that's fine.


ADHD here too. I use org-super-agenda and a central TODO file to manage my stuff. I've got like 10 capture templates--homework, personal, email followups, etc.--and since they have tags, I have org-super-agenda filter them into sections like OVERDUE, Homework (7 days in future), Future Homework (>7 days in future), Emails, Habits, Personal, Projects (basically any TODO with TODO children), etc.

I've also started using org-roam and I'm loving it for capturing my thoughts. Because hell knows I need some way to keep my thoughts a little more organized and a little more permanent.

One problem with Emacs and i3wm and Linux I've found as an ADHD person, though, is that the customizability lets me never be satisfied and spend more time screwing with stuff than actually working. I've never had a specific workflow or strategy last more than like 2 months, and most last like 2 weeks.


> I use org-super-agenda and a central TODO file to manage my stuff

Hadn't heard of org-super-agenda, but looks great. Thanks!

https://github.com/alphapapa/org-super-agenda

> I've also started using org-roam and I'm loving it for capturing my thoughts.

I've tried with Org-Roam but I find the idea of breaking thoughts into little bits very awkward when I mostly work with philosophical books, where the priority is the relation of a concept to the others in the same book, then to the author, then maybe school, then to other authors. I haven't figured out how to model that in org-roam, but maybe there is a way? I also like to divide my notes into folders based on their author (awkward for multiple authors, I admit), but org-roam seems built to keep everything in one massive folder. I just use plain org files and grep around for relevant other stuff.

> the customizability lets me never be satisfied and spend more time screwing with stuff than actually working.

Yeah, I hear that. The one above is the most stable workflow I've come up with after numerous iterations. Keeping it as simple as possible, basically a super powered todo list or bullet journal, has helped, i think.


> I find the idea of breaking thoughts into little bits very awkward when I mostly work with philosophical books, where the priority is the relation of a concept to the others in the same book

Then don't! I'd just make a file node for each book and take regular notes within that.

> I also like to divide my notes into folders based on their author

You could roam-tag them or link them to a page for the author. I've only been using roam for about 2 weeks, but so far, I set up my file nodes like so:

  #+filetags: :tags:othertags:
  #+title: Something Interesting
  This is a brief description of something interesting. It's just a sentence or two.

  Links: [[id:12345][Something related]], [[id:23456][Very cool stuff]], [[id:34567][Absolutely amazing things]]

  * First section

  * Second section
And so on. It works pretty well so far.

> a super powered todo list or bullet journal

My main problem is I keep changing themes and the format/way I take notes. I haven't actually messed with my agenda or anything in about 6 months, and if I do, it's usually just something minor like adding a new group or sorting by lowest effort.


Thanks, I might just give org-roam another try!


See also https://github.com/alphapapa/org-ql which supports org-super-agenda grouping.


Hey Alphapapa! You're an absolute legend, thanks for all the work on those programs.

So is there an advantage to using org-ql over super-agenda and org-agenda?


Thanks for the kind words. I'm glad they're useful to you.

org-ql is a search tool. It provides an alternative to some parts of org-agenda and integrates with it to some extent. Its searching is much faster and more powerful than the built-in Org search tools; see its documentation for details.

org-super-agenda performs a different function, to group results in agenda buffers (which can be from org-agenda or org-ql). See https://github.com/alphapapa/org-super-agenda#faq


I have tried maintaining a todo list in Emacs, but I just never got used to it, even though I "live" in Emacs. Instead I hung a whiteboard next to my desk and just write down everything I have to do here, and it seems to have been more effective for now (not sure if it will change when the pandemic is over...).


I try to set this up but alternating between work and home computers makes it feel messy enough that I stop using it =(


I check my emacs config into github, and then symlink my notes to ~/org from a folder in Dropbox. Works pretty seamlessly across machines


How do you add to it while out of the house?



I carry my laptop with me most places... Not ideal. Need to look into a mobile solution.


BeOrg (iOS) works pretty well for this for me!


It doesn't seem to have GitHub option?


Working Copy is an option. Some of Plain Org (https://xenodium.com/plain-org-for-ios-a-month-later) beta users seem to be using it successfully.

Update: I’m PO author.


what's SCRATCH?


It is so great to see the recent interest and activity in and around org-mode, somewhat triggered by the personal knowledge management trend (org-roam, logseq etc).

Honestly I keep being fascinated by org-mode and hope to see more growth to org-mode. Some of the things that I am still unhappy about -

- org-agenda is not fast enough, and is practically unusable with more than a few tens of files.

- there is no formal spec, and there is no sane parser + pretty-printer that has the capability of the native org-element.el API.


A formal spec is being worked on: https://orgmode.org/worg/dev/org-syntax.html



> org-agenda is not fast enough, and is practically unusable with more than a few tens of files.

Please see https://github.com/alphapapa/org-ql, which implements agenda-like views with a much faster search backend.


> - org-agenda is not fast enough, and is practically unusable with more than a few tens of files.

While it's fast enough for my current usage, the agenda is also output in a custom text format - not as an org file - and last time I've looked their did not seem to a simple way to get the info from a given agenda easily exported to JSON, S-Exps or any other format which does not require a custom parser just to e.g. include org-agenda into a dashboard.

Maybe there's a solution for this that I've missed before?


See https://github.com/alphapapa/org-ql, which can be used to select entries with a SQL-like language, and then you can do whatever you like with the results.



For a release that breaks changes, a decimal increment in version number is maybe too modest.

Was surprised to find some org-babel packages (ob-*) were being moved to org-contrib/ while others not.

The reasoning is apparently:

> "I suggest a criterium [sic] for keeping ob*.el files in Org could be that the extension is known by Emacs _or_ that the supported language is well-established."


It's valid English,

https://en.wiktionary.org/wiki/criterium#Noun

>2. Alternative form of criterion

>1867 George H. Lewes, A Biographical History of Philosophy 1.181:

>There is no criterium of truth.


Yes, the difference is just that one has Greek roots and the other one comes from the Latin version of the Greek word.


What’s the point of using sic in a quotation that was obviously pasted and not transcribed?


[sic] is used to indicate the fact that the transcribed/copied text is indeed correct, and the eventual error was included in the original text. The fact of pasting or transcribing the words wouldn’t matter in that context.


It’s a poor practice in a digital context. The very act of adding such annotations just increases the likelihood of botching a quote compared to just copying it over...

It might be understandable for a digital medium which can be hard to paste from, like a PDF.


I'm not sure how you know it was "obviously pasted and not transcribed". There are plenty of reasons why someone might transcribe text they post here (I often do it when I'm writing on my phone and reading on my laptop, or vice versa).

That said, if we're being honest, I think you're right that the reason for adding 'sic' is usually as a snarky way to say 'haha, they made a spelling mistake', and in the hope that it helps to undermine a point which the transcriber is usually arguing against.


> I'm not sure how you know it was "obviously pasted and not transcribed".

In hindsight it wasn’t completely obvious. I ended up googling the phrase to confirm.

Just seemed very likely that the quote was taken from an email or forum as opposed to some heard speech or a bulletin. But point taken about the fact that some people might transcribe digital text.


Fellow Org users, remember there are various ways to support its development, including making donations:

https://orgmode.org/contribute.html


I use org mode by having a single file and using it as a notebook/journal. I use todos to mark important entries.

I’m comfortable with org mode operations and formatting although I don’t know how to use drawers or properties or what’s the point of archiving. I like using org-ref, and I see a version of that has been added officially this version.

I never learned a more clever way of using org mode. Any tips or guides?


Archiving declutters my org files. I could delete things, but archiving saves me from screwing up, and it's basically for free.

No need to use drawers or properties necessarily. I've got into Properties mostly through realising the incredible power of org-columns, which can turn an org file into something like a spreadsheet at the drop of a C-c C-x C-c. If I'm trying to keep track on the status of a big project, that can be really handy, showing the status of each entry, effort estimates, time spent on them, and really whatever else. (I use this to produce Gantt charts with org-taskjuggler.) And then a C-c C-c and you're back in a plain-old org text file.

But just use what you need.


> archiving saves me from screwing up

Does it? How do you restore from an org-mode archive? To this day I haven't figured that out.


Not sure tbh. I've done it manually. Maybe some kind of refile?


Check out https://github.com/jplindstrom/emacs-org-transform-tree-tabl... if you want to turn the org tree with the properties into a CSV file so you can collaborate with your non-nerd colleagues.


I collect some Org resources here: https://alphapapa.github.io/org-almanac/


I know that org-mode is often cited as a reason to use Emacs, but I have to admit that despite being a daily Emacs user of almost 25 years, I hardly ever need it. When I do use it, I'm very happy with it but then again, I use but the most basic functionality (bulleted lists with foldable headlines and sane paragraph filling).

Nevertheless, it's great to see an open-source project strive, especially one that is so versatile and appreciated by many.


Same here, I have tried it time to time and while I like it, I (this is probably heresy, I realize) prefer having a separate application for notes.

What I've been thinking of is running two Emacs instances, one of which is initialized just with Org mode and the other as my text editor/IDE. Haven't quite dove off that cliff yet, though.


Been using it for years and years, and I started same as you, with some basic outlining. Now it's my primary work organizer/brainstorming/documenting tool (I generate html from it for other folks to read, although I'll occasionally drop plain text somewhere).


Could you get by with just outline-mode?


Congratulations on the release!

If you want to learn org-mode systematically and like watching videos, the Udemy course by Rainer König is really nice: https://www.udemy.com/course/getting-yourself-organized-with...

(Yes, Udemy is full of terrible dark patterns...)


For anyone interested in using Git + org-mode on their mobile, GitJournal [0] has basic support thanks to Orgo [1].

Disclaimer: GitJournal Author

[0] https://gitjournal.io

[1] https://github.com/amake/orgro


GitJournal is great but for 100% support on mobile one can run Emacs directly on their phone using Termux on Android and iSH on iOS.


after having tried a number of other solutions, this is also what I've settled on. works with org-roam too (with some tweaking).


Isn't it clunky on a mobile terminal? I've opted for using orgzly for some basic list stuff but haven't gone any deeper because it's always been annoying.


I find just directly using Emacs in Termux less clunky than orgzly honestly. Mobile in general is a bit clunky compared to a regular machine, at least for anything involving typing, but Termux Emacs is fine for quick notes.


I am a big GitJournal user. There's a small feature that I'd really like to see. It'd be great if I could set a designated "Inbox" file that would accept the Share Sheet output.

Basically, I'll be on some website and want to save it for later, then hit share and hit GitJournal, but it creates it's own file, rather than going into my Inbox; which clutters up my repo.


Share sheet supported in Plain Org (I’m author)

https://xenodium.com/plain-org-for-ios-a-month-later


What's the easiest way to get org-more (and Emacs?) working under Windows? Is there a same/similar setup which is more lightweight that can run org-mode? Any Notepad++ plug-ins?

I don't need a heavy setup for the Windows laptop that I use for business-y things and bringing to meetings.

(Back in the day I used to use Emacs and Gnus for mail and netnews, but I haven't done that in a long while.)


On Windows, probably the easiest way is to use Scoop [0]. You can then install org-mode with `M-x package-install org-plus-contrib`

If you want to set it up in your `~/.emacs.d/init.el` config, you can use something like `use-package` [1] to make the installation easier :

```elisp (add-to-list 'package-archives '("Org" . "https://orgmode.org/elpa/")) (use-package org :ensure org-plus-contrib :mode ("\\.org\\'" . org-mode) ) ```

[0]: https://jrhawley.ca/2020/03/08/emacs [1]: https://github.com/jwiegley/use-package


Org Mode should work out of the box, once you've got Emacs installed on Windows, I think? Download from...

https://ftp.gnu.org/gnu/emacs/windows/emacs-27/

Then have a look at these tweaks:

https://caiorss.github.io/Emacs-Elisp-Programming/Emacs_On_W...


That I figured. I was just wondering if there was a more lightweight, Windows-y alternative than running a Unix editor under Windows. :)


If you want the latest and greatest Org Mode functionality, then you really want to use it in Emacs. If you want a limited subset, then an implementation in another editor (or a mobile app) might do.

I find that it works best when integrated with other Emacs-based workflows, like checking my email in mu4e.

As someone who's set up Gnus in the past you'll be easily able to dive back in!


Emacs is not a “Unix editor.” (GNU’s Not Unix, after all.) And it does not follow the Unix philosophy of doing one thing well. But I’ll admit that using it under Windows is not as seamless as it is under Linux and BSD.


> not as seemless

Extremely clunky on windows, frankly. Installed it the other day and it feels so slow I stopped using it.


Indeed! It's so slow on my windows machine that running a linux vm with emacs installed is a big jump in performance.


I think in windows preview builds for win 11 you can now easily run WSL graphical applications which might work, but I don't know how easy it is with WSL to access the host operating system files.


Prelude is a nice lightweight config for emacs. https://github.com/bbatsov/prelude


I wish org-mode supported text coloring. There are macros but you need to redefine them in every file and you must add support for all types of exports yourself. That's truly the only thing that bothers me every time I take notes/write small documents with it.


I'm not sure what you are doing, but could you customize some variables to have your preferred configuration enabled by default?


I'm not sure what you mean, but maybe this is what you're looking for: https://github.com/alhassy/org-special-block-extras


I appreciate that they start with the stuff they broke and how to fix things

Each orgmode version update has been a pain in the past. You have to go through all your org documents and tweak them. It's kind of horrible - so this helps

Im still stuck on emacs 26's version bc i had some key binding that wouldn't stick, I don't know how to undo their weird hashing html output links (which messes up git diffs) or bring back the '<s TAB' source code block generator. Maybe somebody knows?


You need to use org-tempo for the expansion.

Either require it manually, or, if you use use-package, put the following into :config section:

  (add-to-list 'org-modules 'org-tempo)


Oh that's great! Thank you for that :)


If you’re a company user, there’s < completion via https://github.com/xenodium/company-org-block

Disclaimer: I wrote it after muscle memory got used to tempo.


that reminds me, I need to fix my company mode :) thanks for the tip - and thanks for the extension. I'll give it a try for sure


I haven't done so myself yet (okay I'll do it tonight!) but I've been meaning to just add a snippet expansion for '<s TAB' (I personaly use yasnippet but of course other snippet programs are available).

Edit: Se other comment about org-tempo which perhaps is the better idea. I'll keep this comment up as a shining beacon of my ignorance of that module.


Org-mode's modest popularity has always struck me as akin to HTML's in the 90s. It was a way for non-programmers to feel like they were programming. Never found much of an advantage for it over a plain text file, despite having tried.


I don't think you tried very hard. Org-babel alone is enough, but maybe if you're not a programmer.


I am fairly sure I tried harder than you, just a hunch.

It's a hyper-specified case indeed that a neophyte couches a code snippet in prose English to better understand it later. He'll go back to that doc as often as I go back to my high school notes, and he'll find the prose English incomprehensible (code comments generally only make sense to the author at the time they were written. Cite a longwinded comment he made a year ago and ask him to explain it -- he can't).


    Sneer , v. t.
    1. To utter with a grimace or contemptuous expression; to
       utter with a sneer; to say sneeringly; as, to sneer
       fulsome lies at a person.


  Your old friend, the brass lantern, is at your feet.

  > SAY, "HELLO AP"

  Nothing happens here.


There is also Vim org-mode plugin[1].

[1] https://github.com/jceb/vim-orgmode


First line of the readme:

  > THIS REPOSITORY IS UNMAINTAINED! If you want to become the maintainer, please reach out!
That said, there does seem to be a PR merged a few months ago.


It does work though - I use it from time to time. Helped to maintain it before, in fact, but too busy with other projects.



Just use Emacs ;)


> If you want to install the latest stable versions of Org, please use the GNU ELPA package.

The status of GNU Elpa in *Packages* is 'Available Obsolete'. Version is 9.5 though. Bit confusing but guess this is now the way to go?


Why not bump the major version if there are breaking changes?


Would a WYSIWYG org-mode be a killer app for TeXmacs?


Without drawing graphs and equations, it is absolutely useless.

I’d give anything for a Markdown supported editor with freehand drawing (a true alternative to OneNote)


You can always reinstall `ditaa`. But, re: drawing, these seem promising.

https://github.com/misohena/el-easydraw

https://github.com/lepisma/org-krita


I actually just started doing this in my architecture notes.

You can inline source code in org-mode that renders a graph png.

  #+BEGIN_SRC dot
  digraph {
    a -> b
    b -> a
  }
  #+END_SRC
You can look into graphviz and dot language for intricacies. Once you learn it, it's super useful to jot down ideas and change structures on the fly.


Very cool, thanks for sharing.


It is worth noting that org-mode does support latex fragments out of the box.


> Without drawing graphs and equations, it is absolutely useless.

For you maybe, I use org mode a lot and never feel the need for having graphs and equations in my workflow.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: