Hacker News new | past | comments | ask | show | jobs | submit login
Org-Mode for Writing: Structure and Focus (awarewriter.wordpress.com)
189 points by pmoriarty on Jan 18, 2016 | hide | past | favorite | 74 comments

Can anyone recommend articles or guides for learning org-mode? I'm interested in its use as an all-purpose information manager to combine TODO lists, daily notetaking, calendar and agenda planning into a single cross-referencing system, but I've never managed to get past the "make and navigate a simple outline" stage.

I recommend the articles of Sacha Chua (on org-mode and anything else she writes about).

Here are some examples: [1],[2],[3]

More tutorials here: [4]

1 - http://sachachua.com/blog/2008/01/outlining-your-notes-with-...

2 - http://sachachua.com/blog/2012/05/org-mode-and-habits/

3 - http://sachachua.com/blog/2013/06/how-i-use-emacs-org-mode-f...

4 - http://orgmode.org/worg/org-tutorials/index.html

Seconded, and I like this talk at Google by the creator of org-mode


Weird, but all these links 404.

Please try again. They should be fixed now.

Ohhhh yes, the one that really inspired me was this super detailed org-mode workflow:


The part that was best for me was someone taking so much time to document, screenshot, and close the loop on most parts of managing information with org-mode.

I hope it treats you well!

Something I would also recommend: try to setting things as file-local variables or org comments at the top of an org file instead of dumping in init.el. Setting the configuration globally can make things confusing when you're just learning things.

The other comments have you covered I think but I wanted to reiterate how worth it learning org-mode and spending the time to customize your configuration is. It's a bit daunting at first, so it may take a bit of time and some learning, but it's absolutely worth it.

I use org-mode for my entire GTD workflow (calendar Agenda, next-actions, tickler, maybe, and projects), I use it for capturing quotes or blocks of text that I really want to save for later (my spark notes file), I use it for capturing my "recipes" of anything (software, realizations, food, etc...) in my grimoire file, I use it for capturing notes or thoughts while I'm reading books (with nice capture templates for guiding me through setting the page # and paragraph # in the property drawer), I use it for all of my web bookmarks (I have a bookmarklet integrated in Chrome that auto-fills fields in the capture template for the website), I use it for articles in my To Read list with a Chrome bookmarklet for auto-filling the capture template, AND I use it for my spaced repetition routine with org-drill.

I also use it extensively for work on-top of all the above. I have a capture template for my team's weekly standup meetings, I use it for taking notes during meetings and structuring action plans, etc...

The capture templates, org-protocol for external programs to activate a capture template and pre-fill with data, customized Agenda views (so I get a nice "HUD" for long-running tasks + my 4 day agenda), and refiling (this is one of my favorite parts of org-mode!!!) are absolutely invaluable and an incredible tool for my productivity.

Nothing matches it in breadth and depth, nothing. And as is the case w/ Emacs, you can customize everything to suit your workflow or make tweaks - maybe you have a great idea for improving something! For me I was able to create a highly customized Agenda view specific to my personal deficiencies (I forget about long-running important tasks that aren't a "SOLVE IT TODAY" task).

Sounds like it works for you (almost as much as you work for it :) - don't suppose you'd ever consider a simple textfile setup to capture and sort the same data?

Org files are regular text. Editing them in emacs' org "mode" makes certain text plain text elements behave dynamically (like cycling through or folding parts of an outline open/closed, etc, and more). The emacs text editor is super robust & extensible so you see people talk about custom set-ups, configurations, and workflows (which is a feature not a bug!) so it almost sounds over-the-top & superfluous to a non-user. The hardest part of using it for a non-coder is probably not getting bogged down with all that you can do and trying to follow how experts are using it before fully understanding the basics.

It is a simple text file, that's the beauty of it. The markup, that would necessary manually, is used by org-mode to help you the various possibilities (link, note, todo, outline...)

Except you need a variant of org-mode to use the file on another device, right? I've just posted my 'plain' plaintext file setup[0] if anyone cares to remark.


[0] - https://news.ycombinator.com/item?id=10930124

Resources mentioned in the official page[1] are quite good. Also I recall watching a video (can't dig it now - on a train & typing on my phone) by Prof Carsten Dominik, who started the Org-Mode project.

Meanwhile, FWIW, I'm happy to report (the age-old boring truth) that consistently using it in my daily workflow for the last one year -- didn't even break for a week, except when on holidays -- resulted in making the habit stick.

[1] http://orgmode.org/worg/

The thing that really got it through for me was reading other people's configurations, specifically Bernt Hansen's.


Seeing how someone else who lives on the platform does their configuration helped put it in perspective, then I just cherry-picked the ideas I liked from there in building my own.

GitHub renders org files. I store my notes there. Often I just edit directly on Github.

Give it a try the next time you need a README.md. Make that a README.org instead.

I wrote this "how-to" over the weekend: http://clubctrl.com/org/prog/howto.html

Nice. I'm interested in your ox-twbs package, going to take a look! Have you thought about changing the menu so it follows the reader?

Cool! Any ideas you have, just create an issue.

Maybe you could also use the bootstrap labels for TODO states. That would look much nicer.

Great idea! I actually never use TODO states, so this is a blind-spot for me. I should have checked how they export, but did not. Create an issue and I'll fix it.

The manual goes very in depth into all the features you need: http://orgmode.org/org.html

I use org-mode for writing, time tracking, issue tracking, storing links, snippets, literate programs (ie: my emacs config is an org-babel file) etc... it's really quite flexible. I even wrote a self-published book using org-mode[0].

[0] https://gum.co/VjJMf

It's kind of the killer-feature of Emacs (besides being a decent text editor/operating system).

Interesting; I've been using Emacs for about 25 years but I've hardly heard of org-mode. The article is from 2012 (the title should maybe say that); have there been any changes since then or is the code pretty static?

It's anything but static — in fact we just had someone complaining bitterly on the mailing list that the syntax and API was changing too quickly! It's a fast-moving, responsive project, and tends towards that "user beware" end of the spectrum. Nicolas Goaziou is obviously trying to make things as easy as he can for people, but he's not holding back on changes to structure and syntax.

That's not surprising. I suspect HN and similar fora are self-selecting for the type of person who would perhaps consider their own use of tech as the pinnacle of its application. Myself included, most likely.

I just read yesterday that RMS, as of 2013, couldn't muster the effort to 'learn' org-mode. RMS!

This whole comment thread has pushed me into pressing publish on a post I've been sitting on re: organising my work and life via plaintext files. This hype for over-engineered solutions with steep learning curves, incompatible formats and potentially breaking updates should be addressed.

I've got surprised about that too. Here is the thread wherein RMS refused to learn how to use org-mode: https://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00...

It's fairly static, at least the article is still relevant. I was under the impression that org-mode is really well known (it is the only reason I started using Emacs as a primarily Vi guy) and in any event it should be well known as it is quite awesome.

It's funny I never used Emacs but I first heard about it because of org mode.

Every other week there seems to be a viral blog post about how org mode is wonderful.

I used org-mode for about a year, but then switched to Vim and none of the vim org-mode plugins looked great.

So I thought about what I used it for, and realized it was mostly cycling items between TODO and DONE with a keystroke and text folding.

So I forked vim-markdown and added syntax highlighting for TODO and DONE on header lines, and a mapping to cycle between TODO and DONE. Been using it for a couple of months now and I'm reasonably happy.

If you want to give it a shot, code is here: https://github.com/spatten/vim-markdown

I use taskpaper.vim for the same purpose. I can't recommend it highly enough. https://github.com/davidoc/taskpaper.vim

I'd definitely recommend Spacemacs. It's a starter pack for Emacs which adds layers (it's like a collection of modes), mnemonic key bindings, and other things.

Link: http://spacemacs.org/

For anyone unsure if they would like spacemacs from the "Vi" camp, consider spacemacs as a super-set of Vi but now imagine that you have modal-control in "normal" mode of quite a large bit of user-interface and applications without degrading to an Ex-style "command line" (where you type commands for changing editor state like ':set number' or ':set nonumber')---since spacemacs displays the available keys with help at each level, you won't have to leave the editor to "lookup" a command, typing the commands is one and the same. Just considering this I learned that there is a SPC t "layer" (layer is spacemacs terminology for a configuration between the keyboard and some feature) for toggling numbering, whitespace, syntax checking and indentation guides.

Using spacemacs in day-to-day use is much easier for newcomers than learning Vim or Emacs alone. If you assumed just three keys (0-9A-Za-z) after the leader (SPC) you can navigate over 195K commands. In practice spacemacs is navigating more than that with symbols like quotes, brackets, commas and so on.

Org-mode has lots of hidden jewels. For example, org-drill [1]. Spaced repetition with all the flexibility of org-mode-made flashcards.

[1] http://orgmode.org/worg/org-contrib/org-drill.html

Interesting tidbit: Anki's predecessor was also an Emacs mode http://ichi2.net/flashcard/

Here is another: ReadTheOrg, ReadTheDocs style formatting with org https://github.com/fniessen/org-html-themes#readtheorg

I could go on and on about the benefits of org. And the org-Babel full fledged literate programming environment is another game changer. I used org for a scientific conference I attended recently. From one org file, I could provision a VM in the cloud and get various Docker containers running via tangling with plenty of human friendly exposition. (See tramp mode too.) I could then export that file as an extended abstract via Latex export (conforming to the conference formatting guidelines) and also produce attractive HTML (see ReadTheOrg). Also checkout this literate devops video:


I can vouch for awesomeness of Org mode, I've been using it for all my note-taking needs for more than half a decade. I've created http://markup.rocks for a quick way to read my notes stored on Dropbox when I'm out and about (it's a bit heavy and not usable on mobile browsers since it runs Pandoc client-side).

I used to use org mode when I did everything on my linux desktop, but I stopped when I got a smartphone (and later an iPad).

I loved org mode.

Does anyone have a good solution for syncing one's org mode files to an iDevice and then using it (or even better, editing it)?

I used MobileOrg for a while but never had much luck with the sync process.

My current system is to schedule a batch task to run org export to HTML on all org files and sync the HTML with dropbox. It works great for viewing.

Mobile org has rotted. Check out Orgzly for Android, at least.


Sadly, not FOSS :(

Not really, but I put the org mode files in Dropbox and then I can at least read them on the mobile Dropbox app

Do you find the switch worthwhile?

You mean switching away from Linux?

Basically the driver was that in college and shortly thereafter, I had more time than money, so it was worth it to use an OS that required an investment in time to make it the way I like.

Now that I'm older with a kid, I have more money than time, so I'd rather have an OS where I can solve my problem with money.

I'd actually rather still be running Linux, I just don't have the time. :)

Just one man's experience, but if you want a Linux that "just works," try Mageia. I've been running it since 2011, and in that time I don't remember ever hand-editing a config file. All my laptop's hardware works, printers just work, I use KDE and the monitor hot-plugging just works, the whole nine yards. It's pretty sweet!

It's actually gotten to where I no longer really remember how to do anything in Linux that would necessitate dropping to the command line. Happily, I can't remember the last time I needed to.

I love org-mode, if only I could remember enough emacs to keep using it.

Yeah, well, I had the same problem with Emacs, after I switched to it from Vim. I thought that it was ridiculous to be learning new keys and commands all the time. To avoid it I learned Emacs Lisp, read some of Emacs C code and wrote a few k loc long Emacs config[1] along with a couple of libraries, not to mention installing and customizing hundreds of plugins. I never learned Emacs actually, I just rebound everything in a way that suited me and my memory and reflexes.

So, there you have it. You don't need to learn Emacs at all if don't want to, just learn Emacs Lisp first! Although Org mode specifically has a rather unpleasant API.

[1] https://github.com/piotrklibert/dotemacs_reloaded/tree/maste...

If you do the emacs tutorial (in the menu), you'll find a lot of the ctrl- keystrokes work in osx textboxes, which is surprisingly handy. ctrl-n, next line; ctrl-p, previous line; ctrl-k, cut to end of line, ctrl-y yank the text back (but there's no full kill-ring)

a bunch of them work in bash too, ctrl-r for reverse i-search of your history.

You probably already know more than you think, and learning 10-15 basic commands will get you a whole bunch of utility all over the place.

If your a vim person try evil mode. I hear great things.

I have emacs open with org-mode and evil and use it all the time. It's fantastic. I didn't need to make any configuration changes to org-mode to use it with evil.

Evil mode is still not set up enough like vim for me to use in my every day work, though. There are a few gotchas that are different. So I use vim as well as emacs. I just change windows in tmux when I want to use org mode. The only real downside is memory usage and it is inconvenient if you want to us capture in org mode (because you have to change windows).

I'm slowly setting up Evil to support my workflow. I don't think there is anything I can't do, it's just a matter of implementing it. Rather ironically, I used emacs for 20 years before I switched to vim. I have discovered that I prefer modal editing and having a grammar to describe my edits rather than directly editing things. You would think that I could switch back and forth, but it completely blows me up. I seem to have learned emacs keystrokes and vim keystrokes in different parts of my brain...

I'm curious what things from Evil aren't "enough like vim" for you. I switched over after nearly a decade of loving vim and I feel like it's a better vim than vim itself, shockingly, in the sense that, for example, it's very easy to define new operators, motions, text objects, etc., and that the more popular/essential vim plugins had Evil implementations that worked better than the vim originals. Very rarely did I encounter discrepancies, and when I did, I reported it and it was resolved right away. Evil is an amazing project.

I use emacs with evil-mode. It is great.

I actually don't use org mode much though. It's one of the nicer tools I've tried, but I'm just not an organized person.

Pretty much every organizational tool I've ever tried is really good at helping organized individuals become more organized, but do little to help those who are disorganized.

Most organized people sometimes get disorganized. At those times, if you have all your life in a single (or maximum 2) place, getting back to some level of organizedness becomes possible.

I am extremely disorganized too, and I have seen org mode helps me in the getting back business - though you do have to invest seriously in org mode first to be comfortable enough in it. But org has the answer to this too : org-drill.

Here, write these down:





Use cursor keys to navigate the document.


Options -> Use CUA Keys

Options -> Save Options

I really liked org-mode for a while. The key features for me were the plain-text nature of it and easy outline manipulation.

That said, I got frustrated by how little else interacted with org mode, and I eventually started keeping all my files in markdown... which gave me most of what I needed without requiring an emacs installation on every machine I work on (OSX, Linux, Windows, and Android).

I recently switched to WorkFlowy for GTD and Note taking. It seems like a more pleasant experience.

Before that I used org mode for nearly 3 years. But unfortunately I could never master it; the learning curve was steep and documentation/tutorials on both elisp and org-mode were scarce. As a result, I mostly ended up borrowing pieces from others configuration. And that never worked well for me, any small change I would make would result in weird bugs and I would spend hours without being able to find a fix. Overtime I became very reluctant to making changes in my config and totally lost my love for EMACS/org mode.

Did anyone else have a similar experience? Or did I do something wrong?

To conclude, I love the customisability and the philosophy of org mode (lists within lists) but I think it needs to put in a better package (probably rewrite org mode in JS and make it available on web/atom?).

I used org-mode for the book Learning Akka (http://www.amazon.ca/Learning-Akka-Jason-Goodwin/dp/17843930...) which was published in print eventually. I found it was very helpful for sketching out the structure of the paragraphs and toward the end of the first round of editing was still helpful in being able to handle images etc. Pandoc eventually helped me create formats more suitable for the editors to do their thing with.

I switched to Taskwarrior to manage TODO because org-mode is hard if you want to make API call to generate reports or sync it with a bugtracker.

I wonder why the atom org-mode package is not more popular ... The power of a desktop js editor with org-mode capabilities would be awesome !

I did too. Taskwarrior is just so streamlined for todo's. I always felt org-mode was pretty clumsy at that, in comparison. But maybe I just don't know org-mode well enough. But that itself is symptomatic of what a steep learning curve org-mode has to take full advantage of its more adavanced features. Taskwarrior was much easier and quicker for me to learn, and has a boatload of features to rival org-mode, as far as task-oriented features go.

I do wish Taskwarrior was fully integrated in to Emacs, as org-mode is, but that's the way the cookie crumbles.

I still use org-mode for all my notes, though.

There was actually a GSOC project for doing org syncing with bugtrackers, called org-sync.


Unfortunately it went dormant pretty quick after the original GSOC implementation.

> The power of a desktop js editor with org-mode capabilities would be awesome !

I think the power of a desktop elisp editor with org-mode's capabilities is rather more awesome. What does JavaScript offer that elisp doesn't?

> What does JavaScript offer that elisp doesn't?

1) ===, !==

2) Memory use that'd melt my rather old daily-driver laptop.

3) A community of /cool/ people that make web pages that appear blank on my browser (xombrero + js whitelisting).

4) Some <insert latin prefix here>pilers, e.g. CoffeeScript, TeaScript, Dart, Soccer...

5) Minifiers, maxifiers, maybe even identifiers.


Elisp certainly lacks two things that are real pain points, a well-performing vm, and proper multitasking. I'd also like to have a good way to embed webkit/gecko into emacs, that'd give a lot of possibilities.

> proper multitasking

That's actually equally lacking on JS side (if you mean parallelism); moreover, Node advocates callback/promise-based concurrency, which is completely achievable[1] and even practical in Elisp, too. There are at least two HTTP servers written in Elisp.

Lack of a high-performance VM for Emacs Lisp is a real pain, though. Emacs does everything I need it to do, it's just that sometimes it's a bit slower than I'd like.

[1] https://github.com/kiwanami/emacs-deferred

Yeah, if I could embed a GUI/console browser into emacs … I don't think I'd ever have any other program open.

You can use the w3m console browser from inside emacs.

Old joke: vmunix.el

isn't this sort of what Atom is? It's like emacs but instead of lisp uses js https://atom.io/

I've been taking an interest in mind mapping/concept mapping software lately and some of it crosses over into outlining and task management, for example Vym[0].

For now, though, I am using these tools in a more disposable fashion for brainstorming sessions -- I find the mind-map format very effective for exploration. I transfer the data into other software when I'm ready to linearize it into a document.

[0] http://www.insilmaril.de/vym/time-management.html

The author of this post, John McDevitt, passed away last year in March. I found out almost by accident after clicking on the front page to see if he had any more writing tips. Very sad.

My wife and I use Asana. Asana is not so good for note taking but my wife seems to love it (I have grown to hate it as it is a reminder how she is far more effective at GSD than me).

Here is a plug for our tutorials on using orgmode: https://github.com/KitchinHUB/kitchingroup/blob/master/org-m...

We use it for nearly everything.

Is there something like this for Vim ?

There is a nascent org-mode written in vimscript for vim. It is usable, but barely. I usually have emacs open with org-mode in evil mode, but use vim for programming.

Not exactly what you've asked for, but you can use Vim in Emacs (see spacemacs or evil mode) and have org-mode and everything.

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