Hacker News new | past | comments | ask | show | jobs | submit login
Org Mode for Emacs – Your Life in Plain Text (orgmode.org)
344 points by grhmc on Mar 30, 2016 | hide | past | web | favorite | 205 comments



I've switched to Emacs after 14 years of Vim (with the required evangelism^^). Initially it was because of Clojure, but then I tried org-mode. Now my GTD Setup (formerly Things.app), Notes for everything (formerly Evernote), Time Tracking (formerly Minco), Pomodoro Technique as well as writing slide decks (I'm a part time lecturer, so I do that a lot) are _all_ within org-mode. And not, because it's hipster, but because it's just so much better - plus it's completely platform agnostic and future proof, because it's just text.

Cannot recommend it more. I started using simple outlines for meeting minutes and quickly realised that it will be easy and more efficient to migrate the aforementioned workflows into org-mode, too.

A last one: Finally I can properly link between Mails, todos and notes (using mu4e for mails). That was never completely working on OS X with Evernote, Mail.app and Things and is just so important!


For anyone trying not to make the same terrible mistake, you have vim-orgmode: https://github.com/jceb/vim-orgmode


Or for anyone that is more open-minded, yet worried about the learning curve of switching from vim to emacs: http://spacemacs.org/


I switched to Spacemacs from Vim a few months ago and I'm probably never going back to Vim. I didn't notice any difference between Evil mode and actual Vim. Took me a week or two to learn the Emacs and Spacemacs specific things before I was comfortable using as my primary editor.


The fact that I cannot use `space` as a direction/movement key in spacemacs is a non-starter for me. I'd have more luck just learning Emacs's keybindings at that point.


Really? As a long-time Vim user that switched to Spacemacs but ended up back on Vim, I've never used the space bar for movement. I'm curious do you also use backspace for movement?


No, not usually, but I use space a lot, which I didn't even realize until suddenly it pulled up a menu every time I pressed it.


at least for me, it feels like i have to change my whole workflow to match spacemacs, instead of being the other way around (i, being able to easily config spacemacs to match my current vim workflow).

it honestly felt really backwards to use spacemacs after ~10y of vim usage. i would prefer to learn plain emacs + evil mode instead.


I'm relieved to see that it's not just me. With all the recent praise spacemacs has been getting, I felt like maybe I was taking crazy-pills or something. It's a very aesthetically pleasing setup, and a fine editor on its own, I'm sure, but it feels a little disingenuous to me the way they aggressively market to Vim users. Like you, I've been using Vim for around 10 years, so any departure in behavior has the potential to seriously cramp my workflow.

(One of the big lures of spacemacs and/or evil-mode for me is that I've always been envious of Emacs Lisp. I see things like GNUS and org-mode and SLIME... then I see Vimscript, and I hang my head in shame.)


I use emacs+evil; tried out spacemacs but found it over-customized. I want to know what everything in my .emacs does, and if I don't like something, how to change it. Spacemacs was way too overwhelming for me.


Another long time vim user, I switched to emacs+evil then to spacemacs back to vim back to emacs+evil. Spacemacs was good but I started to feel bogged down, as I do with big ide's and went back to a very minimal vim.

I have now started back with emacs + evil and a minimal setup. I find it gives me the best of all worlds.


agree.

everyone talks about spacemacs=vim. this is nice, but what turned me off of spacemacs was the layers config abstractions. It breaks the normal configuration of emacs. Just install evil mode and a few contrib packages.. that's spacemacs lite.


You can choose a different leader key in your .spacemacs and then bind space to whatever else you wish.


But then it's not spacemacs anymore, right? It'd be commamacs or something? ;)


Comma is used for a leader for the major mode. Of course it can be changed, as well. Everything is configurable.


I'm afraid I'm just too wedded to the jump list to make the switch, though Evil mode did do a good job with text objects.


I think pretty recently evil-jumper was added to evil itself, and the default jumplist actions are done well enough, imo. Have you tried it since then? Or is it just the edge cases (and there are plenty...) which throw you off?


I started using spacemacs (without evil) a few months ago and before that I was using a customized emacs. Spacemacs improves the user experience with their package management approach (it kicks much ass). Not only that but the c-c++-mode is almost as good as what I had configured and it took 5 minutes to configure instead many days. The version of which-key, magit and org-mode provided by spacemacs is better than what I used to have and greatly improved my emacs experience. I can't recommend it enough. My spacemacs file on github for anymone who is interested https://github.com/green7ea/SpacemacsConfig/blob/master/spac...


Spacemacs is awesome, I ended up doing the same thing you did -- chucking years of accumulated config in .emacs out the window. I think the one thing that Spacemacs could really benefit is a good guide to using it/emacs, similar to the Atom Flight Manual http://flight-manual.atom.io/


Also worth checking out for anyone who (like me) thinks vim has much better keybinding philosophy than Emacs, and that switching evil-mode makes Emacs a perfect working environment.


Any vim user, try this:

1. brew install emacs, apt-get install emacs, or pkg add emacs

2. vim ~/.emacs

3. paste the following, verbatim. Don't bother reading it:

  (require 'package) ;; You might already have this line
  (add-to-list 'package-archives
               '("melpa" . "https://melpa.org/packages/"))
  (when (< emacs-major-version 24)
    ;; For important compatibility libraries like cl-lib
    (add-to-list 'package-archives '("gnu" . "http://elpa.gnu.org/packages/")))
  (package-initialize) ;; You might already have this line

4. :wq

5. Open emacs

6. Press escape, then "x", then enter. Now type package-install and press enter.

7. Type evil-mode and press enter.

8. Click the "Buffers" menu at the top of the screen, then click "scratch"

Now pretend like you're using Vim. It's almost identical. It's literally like using Vim. You can shift-V = to indent code, gg shift-V gG to select the whole buffer (or, y'know, command-A), etc.

There were only two minor differences that annoyed me: ctrl-u no longer scrolls up, and yanking text copies to the global system clipboard. (v"+y is supposed to do that, not yanking!)

To fix the scrolling issue, press escape then x and type "customize". In the search field, type "evil". You'll get a list of fancy customizations. One of them is C-u for scrolling; enable it, then click "apply and save" at the top.

That should get you started. There are a bunch of fun things to do... Try escape, x, list-packages. You don't even need to know a single keybinding. You'll just get a list of packages with hyperlinks you can click on, which pops up a little info blob that usually has a link to a github repo for the package.

If you try to stick with emacs, the next week or so will be "interesting." You an use escape x apropos to find info about escape x commands. (These are called "M-x" in emacs parlance. And if you use the GUI version of emacs, you can use alt-x instead of pressing escape then x. It's much easier, but doesn't seem to work in the terminal.)

Personally, I stuck with it in order to learn how emacs worked: how you can design a program to be so extensible, and how extensible it truly was. Gamedevs in particular might be interested in going through this gauntlet; the way that emacs lisp exposes functionality will inform the design of the next engine you write. Check out Yegge's post about the universal design pattern as applied to gamedev.


> These are called "M-x" in emacs parlance. And if you use the GUI version of emacs, you can use alt-x instead of pressing escape then x. It's much easier, but doesn't seem to work in the terminal.

That works in all my terminals — I suspect something's awry with your settings.

One issue is that if you use gnome-terminal under Ubuntu, I think by default it steals alt for its own menus. There's a setting to disable that, and I always selected it when I used gnome-terminal, because who uses GUI menus with a terminal? Nowadays I just use st.

Another tip is to set your caps lock key to control. This is one of those 'how did I ever live without this?' things (I actually buy keyboards where the control key is physically where caps lock is on most; it's that vital).

And if you write any Lisp or code, you might like to swap parentheses & square brackets. For me, at least, it's another one of those 'how did I ever live without this?' things. I type parens all the time, and now I don't have to hit shift. It's … wonderful.


It could also be if he's on a Mac, you have to go to Terminal -> Preferences -> select your current profile -> Keyboard -> check "Use option as meta key"

I found that out because I was trying to start using org mode but I'm new to emacs. That was one of many issues I ran into trying to get it to work. (First was that the emacs that comes with OS X is ancient and doesn't have org-mode, so I had to use brew to get a good version).

Next is none of the tutorials actually match the shortcuts that org-mode actually uses on my system.


>Another tip is to set your caps lock key to control. This is one of those 'how did I ever live without this?' things (I actually buy keyboards where the control key is physically where caps lock is on most; it's that vital).

I recently switched from Vim (still using it through plugins in some IDEs) and decided to not start with Evil mode but give Emacs keybindings a proper go. Switching the capslock key to CTRL has been crucial. This switch is a built in feature in OS X and Gnome. Downloaded a third party app in windows for my corporate pc.


One thing I recently did - MacBook Pros do not have a right control key and I really wanted one for my emacs use. So I downloaded a remapping program that interprets holding the return key as control, but normal presses as return. Seems to have worked out well, and it gives me some keyboard symmetry with caps lock control.


Set option 'metaSendsEscape' for xterm, lots of help here, https://www.emacswiki.org/emacs/MetaKeyProblems


I actually use empty shift for parens, so comfy I almost feel guilty about it...


Figured it out myself. Couldn't find a way to map single presses of the Shift key in emacs, but I was able to do this using AutoHotKey in Windows:

LShift UP::Send, ( RShift UP::Send, ) LShift & F13:: RShift & F13::

As a Clojure and JavaScript dev I think I am going to like this mapping quite a bit, so thanks for the tip!


That sounds like something I'd like to try. Mind sharing the code from your init file that does this - assuming you are doing this in Emacs?


For this remapping and a few others I'm using Karabiner for OSX. I remap elisp commands in emacs all the time, but I don't know how to remap the keybinding for the single SHIFT to parens. The answer might be here: https://www.gnu.org/software/emacs/manual/html_node/elisp/Ch...

Karabiner is pretty good though, and you can select certain keybindings to only work in emacs.

I've also remapped CONTROL to CAPS LOCK, a more common re-binding to save one's left-hand from endless torture and mutilation!

Karabiner https://pqrs.org/osx/karabiner/index.html.en On GitHub https://github.com/tekezo/Karabiner

It's also pretty simple to extend Karabiner with XML scripts.


> Check out Yegge's post about the universal design pattern as applied to gamedev.

You mean this one?

http://steve-yegge.blogspot.com/2008/10/universal-design-pat...


Yeah! It looks like your URL 404's though.

http://steve-yegge.blogspot.com/2008/10/universal-design-pat...

All of it is pretty interesting, but it's sort of unreasonable to say "Here, read this tome." You can skip to the Wyvern section for the important bit. Gamedevs will be particularly interested, because the question of "How do I enable people to write games in the most flexible way?" is one of the great unsolved problems in gamedev. There's just no good way to do it. Every engine has tradeoffs, but circa 2016 these tradeoffs are anachronistic. A modern engine should be written mostly in the scripting language that it provides. Most of the codebase that would otherwise be C++ code should be script. This can be done with almost no performance penalty. So the only question left, once you decide to really do this, is how do you design it?

I think Emacs' design is the answer. Almost all of the core ideas can be incorporated into a modern game engine, provided that it's built from scratch.

Few people have the skills or the inclination to pull this off, which is why it hasn't happened yet. But I suspect anyone who does this will end up with thousands of users who love making things in it. As with Emacs.


I'm interested in this idea. What aspect of emacs design makes it unique? What are the "core ideas" you mention?


I think that emacs's core idea is a small core (pun intended) of functionality written in a high-speed language (C in emacs's case), entirely orchestrated and glued together in a high-productivity dynamic language (elisp).

Emacs really isn't a scriptable editor: it's an editor written in a 'scripting' language atop a relatively small set of primitives which happen to be useful for editing. But it's also an email client written in that same language, and a version-control interface, and a web browser, and a news client, and a Tetris game, and and and …


> Yeah! It looks like your URL 404's though.

Ok. Yeah, I accidentally deleted an #\l from "html" :(.


I did. Eventually you hit an emacs-ism or have to edit the emacs config files. It's just not the same no matter how they try to make it so.


A much better move is to switch to emacs and use something like evil-mode to keep your vim-fu useful. After all, you can emulate vim in emacs, but the converse is not true. :P

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


The only thing that keeps me from being able to move away from Evernote is the oh-so-convenient Web Clipper that lets me save web pages/order receipts/etc (anything in the browser) with a right-click, and not having to "print to pdf" or anything like that.

I would love suggestions for alternatives. I've been keeping a plaintext "notes" file as well for damn year 20 years, but am thinking about reorganizing it into OrgMode.


I think I have what you're looking for. :)

https://github.com/alphapapa/org-protocol-capture-html

With this, you can capture HTML content directly into Org, converted into Org syntax with Pandoc.

For example, to capture your comment into Org, I just highlight it in Pentadactyl (Firefox), press "cc", and Emacs pops up a capture buffer with your comment inserted into the capture template. Or if I press "ch", it passes it through Pandoc, converting HTML lists, tables, headings, code blocks, etc. into their Org counterparts.

I also just added support for python-readability, so if I press "cr", the URL of the page is sent to python-readability, which gets the article content (just like the good ol' Readability bookmarklet), then passes it through Pandoc, and then places it into the capture template.


Most comments here seem to focus on the notes and GTD side of org-mode.

For me, org-mode is my go to markup language. So much so that I now find writing in Markdown to be almost painful. A few of my favourite features are:

- Tables are amazingly easy in org-mode, with spreadsheet features thrown in as well.

- Code snippets can be written in their own major mode, giving me syntax highlighting, auto completion and the ability to run the code and embed the output into the markup.

- Local links autocomplete, so I don't worry about breaking them with typos.

- I can export to HTML, Markdown, ODF or PDF.

- GitHub supports org-mode Readmes


I recently had a paper published written in org mode and I have another in review. I don't plan to write straight LaTeX again.

For me, babel is the killer feature. I can write code snippets in the buffer, highlighted and indented according to the corresponding emacs mode, with paredit for lisp, and beautifully exported via pygments. A single key combo lets me evaluate my code in persistent repls associated with my buffer, and I can choose what combo of code/result I want to export. I had some of my snippets generate raw LaTeX that I could include in the document.

Org links make section references trivial, and I have it hooked up to ebib so my citations are pure org. In the emacs buffer, clicking a citation link takes me straight to the bibtex entry.

I don't much use the organiser, but I do use org heavily for writing cross referenced notes about other people's code.


Fellow academic org-writers unite! Org is a great place to write papers. Unlike Markdown, which some people present as another alternative, Org supports cross-references. Also, being able to do complicated stuff by dropping back to LaTeX is a boon.


Why not just use AUCTeX?


Because org-mode targets far more than than LaTeX/PDF in its standard case, isn't itself Turing complete, and supports vastly more stuff including literate programming in a huge number of languages.


Absolutely. When I can, I write everything in Org-Mode: - Code / Project Documentation: Written in Org-Mode, then exported as PDF via Latex - Blog: My complete blog is written in Org-Mode [1] (Source: [2]). Via Source-Blocks, I can write Code-Examples directly in the document, execute them there, and make sure they work correctly and / or embed the results. I can even write multiple code blocks and then reference them within each other. This makes it easy to explain a subject by continuously revealing more snippets from a larger code example - Link Lists: I'm storing links to books, articles, papers, in Org-Mode where I can add quotes, tags, or relevant thoughts in a structured way.

I actually, currently, use Org-Mode much more for writing than for organising / tasks / todos.

[1] http://appventure.me [2] https://github.com/terhechte/appventure-blog/blob/master/res...


I've been using Github and org-mode to organize a lot of the notes that I collect. It's great to be able to edit notes directly on Github from a laptop, iPhone, or iPad browser.

https://github.com/melling/ios_topics

https://github.com/melling/ErgonomicNotes

https://github.com/melling/ComputerLanguages


As far as I know you can edit any text file from the github web ui. Unless you mean that it should support org-mode features in a browser?


github renders org files. That's the important part.


In terms of HTML output, there are even some nacent HTML themes that I've used to sex-up my output:

https://github.com/fniessen/org-html-themes


I really like org-mode and used it heavily for about a year. But I found having my todo list on a single computer pretty limiting. Thankfully, there's a new generation of org-mode inspired cloud apps:

* https://workflowy.com/ -- the most mature app

* https://www.moo.do -- really nice Google Apps integration

* https://checkvist.com/ -- extremely feature rich

I'm really excited by these tools. I feel like org-mode has some really nice insights, but there's a lot of potential to improve.


Emacs can transparently edit remote files: https://www.emacswiki.org/emacs/TrampMode

All you need is a machine accessible via ssh, and you won't have to trust centralized proprietary services.


Speaking as a Workflowy user to your concerns, it's the best of all worlds for me:

- nightly export to dropbox as plaintext and a backup as a type of json format with more metadata. If Workflowy goes away tomorrow, I have everything and can continue in an editor if I like. But until then, I use the pretty web interface.

- multiple device support. I am not going to mess with ssh on my mobile devices. I use Workflowy for everything from extended note-taking and long-form writing to quick pre-set searches on the go for reference; and that's on all my various interfaces (and sometimes other peoples too).

- Workflowy is easy enough for laypersons to view and/or collaborate in seconds. No setup necessary on their end.

I am a happy paying customer of theirs.


I'd say there's one primary "potential to improve" - a mobile app. The situation is better than it used to be, but frankly still not good enough IMO. Otherwise, an org-mode + Dropbox combo works perfectly for me; every computer I own or work on has Emacs installed anyway.

And it's hard to note down so much content on mobile that you won't be able to retype it back on a proper computer under 5 minutes.


I've used org-mode for todo/gtd/planner for years before I had my first smartphone. Then I suddenly realized a user friendly mobile app is so much important. I started to add some of my todos to my phone's builtin reminder, and as you would expect, my todo system quickly fell apart. I'm using omnifocus now on both my laptop and phone, and I would pay more for an equally good interface on the mobile for org-mode.

I still use org-mode for writing everything else. Nothing competes with that.


I googled and couldn't immediately find a thing that eats notes from IMAP into org-mode. That could be pretty useful for capturing on the go, since e.g. iOS Notes does good IMAP sync.


If you're using GNUS to read your IMAP mail, you can link from org into GNUS.

http://stackoverflow.com/questions/15736590/how-to-automatic...

Org can also store arbitrary links, with custom protocols - for instance I link from org to our jira project using links like [jira:3456].


if you use android you can use:

http://www.orgzly.com/


Save your org-mode files to a dropbox directory or commit to a git repo to sync across multpile computers


Not to hijack this thread, but if you go the git route make sure to try magit. Best git experience I've ever had.


Egg is pretty slick IME. Course for org-mode, 90% of my use of git as applied to my org files is as a glorified rsync.


There are like 5 different good file syncing utilities, and you're giving up a ton of capabilities for that one feature when you use any of the tools you mention. I'm not critiquing your choice necessarily, just your justification for your choice. It seems like throwing the baby out with the bathwater.


I found syncing across devices through local git repo to be pretty effective


Ymmv but I sync my notes files via Dropbox across several computers. I wrote a simple elisp function that runs on startup and opens my "todo.org" file. The only unsolved piece of the puzzle here for me is mobile: I haven't found a good way to view/edit org files on iOS.


I used orgmode for a while before importing them all into Microsoft OneNote, haven't looked back


I took my OneNote stuff into OrgMode because I think there is a higher risk of OneNote being an unreadable format in the future and/or the service being turned off.


This is exactly why I moved from Evernote to org-mode. I've been a paying user for years with thousands of notes - also important legal documents. Right now, the experience was pretty good, but how will it be in 10-40 years? I'm not going to store everything on paper, as well, just to make sure.

The org-mode experience is better, yet totally future proof, because it's just flat text files.


How did you handle importing binary data you had in Evernote into org-mode? I've got a bunch of PDFs, images and other non-text data in my Evernote workbooks that I'd need to take care of.


org-mode has the concept of attachments which you can use for pdfs, images etc.

http://orgmode.org/manual/Attachments.html


I used to keep lots of stuff in Evernote, and when I switched to org-mode, I did an HTML export from Evernote and then wrote an awful Python script to convert the HTML to org-mode. I'm pretty sure all the binary data appears as links in the exported html.


Would you be so kind as to share this Python script? I'd be happy to give it a shot^^


Sorry, not got it any more. It was a one-time use thing as once I was done with Evernote, I was done for good. It was pretty specific to my use case anyway - as most of the content was tabulated student data.


Very well, then. Thanks for taking the time to respond anyway and for making thoughtful comments on your use case of org-mode, I appreciate your comments a lot!


Try pandoc -f html -t org-mode.


This is a very good question! When you come up with a great answer, shoot me a mail!

I actually moved everything that is important for the very long time by hand and started creating everything that's new in org-mode. So, yeah, there's still thousands of notes in Evernote and sometime I get back to them, but those times will become fewer and fewer in time.

I'd pay for a tool that converts the EN XML to a proper org-mode file. Even better if I could do that on a regular basis, because EN still rocks most for capturing paper into an OCR'ed PDF.


It's a valid point, but due to accessing notes from various browsers, desktop operating systems, android phones and iPads, OneNote just makes it easier for me and how I take notes in my current computing environment compared to emacs. I tried syncing Org-Mode notes to my phone with https://f-droid.org/repository/browse/?fdid=com.matburt.mobi... for a while, but that still didn't fix all my use cases.


OneNote stores the notebooks in simple files -- sharing is done through Onedrive. It's very-very unlikely that suddenly and without warning Microsoft 1) encodes your notebooks in some unreadable format 2) stops the service.


I am no stranger to Emacs or Org-mode, but with an iPad, Sony touch notebook, and an Android phone, I like using my pen inputs for quick drawings or notes vs. simply typing in Org-mode. Org-mode and Emacs are very cool though, once you use them for a while, but I usually stay in Emacs and fool around too much with tons of other stuff!


Is it worth the hassle and uncertainty ? I guess that depends on what you store in the files, my UTF-8 encoded text files read by org-mode, is easily readable and information can be extracted without (almost) any effort.

Since I store my diary, ideas, manuscripts, cv's, contacts, meeting notes and a myriad of other things, I cant simply trust anything else with the data.

I've seen many cases with distraught persons realizing all their treasured data is locked into a obsolete format on a obsolete machine that just crashed.


I generate PDFs of my important OneNote notebooks, and I backup the file. It is not a complicated file format to have to worry about not having access to it for the data in future. Plain text is great and simple, but no drawings, mindmaps, photos, vector art, etc... which I can use in OneNote. My note-taking, journaling is more rich with the multimedia content. I used to use a TiddlyWiki, but I love using my Sony Vaio Flip 15 and pen to doodle, handwrite, or make lists.


I would not be surprised, they have done both in the past.


Yeah, that's why org-mode is so great, it's future proof. My dream format would be a mix between org-mode and asciidoc.


OneNote is a bit idiosyncratic and I've had problems using it "right" whenever I tried it.

But then I finally read some blog posts and documentation and it clicked. I'm not looking back, either.

Even though I'm Emacs-inclined (though not living in Emacs), orgmode is too unwieldy and complicated for me, and the "killer missing feature" is quick entry and editing on my mobile phone. OneNote does that very, very well.


>Even though I'm Emacs-inclined (though not living in Emacs), orgmode is too unwieldy and complicated for me

I do live in Emacs, but I prefer the mouse to the keyboard for tasks that can be done both ways, and balked at learning the many dozens of keyboard shortcuts ("keys", in Emacs terminology) org mode wanted me to learn.


Mind sharing the links or names of what posts or docs helped you the most with OneNote?


https://www.eng.vt.edu/sites/default/files/pageattachments/m... was pretty helpful. I don't remember the others.


OrgMode is one of the killer features of Emacs and the among my top greatest finds in the world of softwares.

Don't use an Orgmode copycat on another platform. Go straight for OrgMode on Emacs.

If you are a Vim user, EVIL mode has the best Vim keybindings I have ever used.

You don't have to leave your other dev environments for Emacs. Use Emacs only for OrgMode if you like.

My only issue with OrgMode is that it's a bit of a rabbit hole. Sometimes I clean slate my system to get rid of built up complexities, cruft, debt and other messes and I get stuck when I look at OrgMode. It's a full on project to get it to where I feel I want it to be and there is always something I an improve or change. It's never ending.

Sometimes I just want something quick which handles just text and has lots of features for doing different things with that text. In this case, I reach for Acsciidoctor. Yes, I know that OrgMode could be the same, but I need the constraints to keep me from tinkering.


I switched from vim to emacs a week or so ago and with evil-mode I hardly even notice. It's actually really good, pretty much a full implementation of vim inside emacs—not like other editor's vim emulation which is usually just hjkl and a few motions (coughbrackets,atom,vs codecough).

The main reason I switched was to check out org-mode (I didn't even plan to fully switch for a while), and it's that good. org-mode is the killer app for emacs. gdb-mode is really good too actually, as is eshell. For web development maybe emacs isn't any better, but for C it's really really nice.


I learned VI before Emacs, and by the time I heard about Org Mode, I had developed a way of using Vim similarly; in a nutshell, I write in a clang file (usually named control.c), and (mis)use syntax highlighting on things like switch statement, comments, TODOs and code folding to add structure (screenshot: http://imgur.com/kqrEahz). I did most of my coding in C in college, got into the habit of writing pseudocode into editors, and ended up with this practice.

For the Org Mode aficionados: I feel that this "thing" meets my needs for the most part. I can create task items, comment them out when I'm done, add notes and TODOs, and fold everything so I can focus on the task I'm working on. What feature do you think I'll benefit the most from, if I decide to switch to Org Mode?


This is a rather neat hack, kudos! You've got the syntax highlighting and collapsing which are two important features for such a system.

org-mode is a little more, though.

Say, you have lots of todos with schedules and deadlines, how do you find them? Certainly you could write a regexp and put it in a separate buffer. Or use the org-mode Agenda.

Say, you want to share and export your file, because it's a meeting minute document. Sure, you could write your own parser, convert the thing to markdown and use pandoc. Or use org-mode Export to everything (HTML, PDF, Slides, ...).

Say, you want to track time on your tasks, because it's client work. Sure, you could write a VIM plugin, but then you realize that VIM and async jobs are hard (yeah, Neovim is coming..). Or use org-mode clocks and reports.

Or something else completely - like I mentioned I really do enjoy your hack! However, when re-implementing a tool - I'd first figure out why I need a different tool before I spent working on a new one. And believe me, I tried to do what you do in VIM(;

Ah, and don't be afraid of Emacs - there is a mode called 'evil-mode' that is just the perfect VIM emulation. I'm using it daily. Therefore switching is a matter of minutes. Except if you have lots of handcrafted VIM plugins to port, that is^^


What is your vim setup? The fonts and colors and everything look gorgeous; I'd love to have something like that.


That's a very neat hack you have there, I'd never thought of that.

However, this question:

> What feature do you think I'll benefit the most from, if I decide to switch to Org Mode?

To me, that's like asking, "What feature do you think I'll benefit the most from if I decide to switch from paper to a computer?"

What you have there is syntax highlighting and folding, which is a big improvement over simple text editing.

But Org is a system for capturing, manipulating, and exporting structured data that happens to be stored in plain-text. It's also a tool for literate programming, literate devops, and reproducible research. It's also a tool for writing documents, books, blogs, etc. It's also a PIM/organizer, time-tracker, habit-tracker... The list goes on and on. Org is basically whatever you want or need it to be. You get out of it what you put into it, and it's with you for the long haul, always becoming more powerful and adaptable.

The community is also very friendly. Just check out the mailing list if you need any help.


The one thing I would benefit the most from when switching from your approach to Org mode are agenda views: http://orgmode.org/manual/Agenda-Views.html


Organizing one's work is a bit different for each person, and since you have done a lot of work in C, certainly vi and clang files are more your /modus operandi/. However for those of us with LISP backgrounds, Emacs is definitely more suitable.

What you gain with org-mode is quite a bit:

Org-bable which allows you to write outlines with blocks of text that can call external scripts. This is a bit like a Mathematica workbook, with text notes and evaluations, but you can call to Python, Ruby, or whatever language you want.

You can export an .org file into many different formats. LaTeX, HTML and OpenOffice format are what I use most often. Note that you can modify the template to export to any custom format you want. What is very useful are the Beamer templates, where you can turn an .org document into a slideshow very easily. This is a killer feature for anyone who has to lecture often and needs a quick way to get his notes on some slides that look quite professional.

Org-mode also has an agenda, calendar and even contacts if you want to store them there. You can provide links in your agenda to a specific part of your file, so you can click on the TODO link and go immediately to what needs to be done. This is extremely valuable for a large project and saves a lot of time.

There is also org-capture for those moments when you are fixing one file and you need to remind yourself to refactor a function in another file. This helps avoid many bugs especially in a large project where the function definition can be somewhere else. You can also capture any sort of text. When looking up documentation I often capture the web page and put it in a NOTES.org file in a project, especially when it is something obscure that I don't use that often. These notes can also have links/todos, etc. making it very practical.

Also since I do email in Emacs [mu4e], I can simply make a TODO from an email with org-capture, and it goes into the agenda. In the agenda I have a link to the original email and to any other file or notes that I add to this task. This is very handy with bug-reports and things of this sort. Also, I can search my agenda files to see if anything like this has happened before, etc. It really helps to be able to do this without having to be online like with many bug-tracking software - which is very helpful when on a commute in the train.

These are just a few things that you would gain with org-mode, but really there is no end to the customization you can do. It is all written in plain-text and controlled with elisp. I like the fact that with this one tool [Emacs] I can do so many things, so it is worth the time to know the tool well. It also can expand to do whatever task I need to do. The plain-text format makes it possible to even employ outside tools, such as sed and awk, if I am not inspired in elisp at the moment. To do all the things that I do in Emacs would require learning several different tools each with their own document format and key-bindings and wouldn't even necessarily be adaptable to the task at hand.

On the other hand, you do have the obligatory xkcd:

https://xkcd.com/1205/


Last evening I set up org-babel integration with Ditaa and Graphviz. Seeing diagrams inline in the document is extremely convenient. Next time: PlantUML, and maybe HTML export tests.


I haven't extended my use of org-mode outside of simple outlines for taking notes and todos, but for that it's been wonderful. Something always irked me about Microsoft Word, it didn't work quite right. I didn't like a number of other softwares I tried. Same goes for TODOs. Now I have a good place to manage both and I get to use that glorious evil-mode as well.


I have written an org-mode replacement that addresses some of the key challenges (hard to learn, awkward) while keeping some key benefits (efficient from keyboard, extremely flexible), and adding huge flexibility in what can be done: http://onemodel.org

It is a personal organizer, and the beginning of a platform to change how individuals (or mankind) manage knowledge overall.

(Now with an improved web site.)

Feedback welcome!!


Looks interesting, but Java is a turn-off for me.

Even more of a turn-off for me is storing data in Postgres. Postgres is great, but one of the primary benefits of Org is that it stores data in plain-text. I can get data out of my Org files on any platform with any program that can view text files. To get data out of a Postgres file...is orders of magnitude more complicated.

But it looks interesting. I'd recommend putting up some screenshots, because the front page of your site is a list of links without much actual information. :)


Just saw your reply. The app has export (& import) features to convert anything to (or from) an indented plain-text outline.

Thanks for the suggestion. There are screen shots under "about" then "what it is today" then "screen shots". I should probably put them on the top in a side frame or such.

The FAQs have in them somewhere, links to a discussion of a more detailed comparison with org-mode.

I could use web design input, maybe via lists or at the site.


I don't know why this get in the frontpage but for those who are willing to give it a try : Org is the best software I've ever used to clock time and generate reports. And org-capture + Deft is a decent note management system (though there is place for improvement)


Deft is good if you store notes in many small files, but doing that gives up many of the powerful features built-in to Org, like the Agenda. (Unless you want to add every little file to your agenda-files list...) You might find this useful:

https://github.com/alphapapa/helm-org-rifle


I bet org mode is one of the most posted things on HN. It has passionate users. I'm not one of them.


My theory is that HN loves Emacs because HN loves Lisp.


I'm an anecdatum that did, in fact, learn Emacs b/c of Lisp. B/c of HN. B/c of PG...and strangely enough, I've been working on my emacs skillz all day.


As a kid I took an "intro to programming" summer course based around scheme. If I hadn't felt some echo of familiarity with all the parentheses when I started with emacs, I don't know if I would have become an avid fan like I am today.


I use Emacs and I really like Org mode, but its learning curve is simply too steep given how platform-locked it is.


I use it in vim and I have to say it's not really too difficult if you're used to Markdown. I was actually using it today for the first time to take notes in class and I was amazed by the beautiful documents it produces.


My system for remote editing:

System A: get a notebook. Write down what you want to capture when you are away from your comp. When you sit down, check your notebook.

System B: Run your org mode on a linode. Download Connectbot (SSH client) for your phone. You can now connect to your Org wherever you have cell service and work from one always-running emacs instance with emacs --daemon and emacsclient -c. I bought a personal blackberry (yes, I know) solely for the physical keyboard which makes throwing out a CTRL or META keypress much easier.


Disclaimer: mediocre developer here

I have recently switched to emacs from TextMate. I have not been using TextMate to its full potential as I simply did not have the need to do so. It was good. It worked great out of the box.

Then I realized that I needed to do much more than just use a text editor and have been glueing a lots of other utilities together.

Then I doscovered emacs. A behemoth godknows how old. And decided to learn it.

The learning experience is really steep but I think it's worth it. EMACS survived the test of the time along with VI(m). But sometimes I just feel it's too much and the great extensibility comes at price.

I am looking forward to Atom but the performance is not that great compared to EMACS. Not yet.


Somewhat related, check out Vim Wiki if you are on the other side of the great editor's fence:

https://github.com/vimwiki/vimwiki

Not feature for feature compatible, but sharing the same spirit


I'm org-mode beginner but quite enjoy it so far.

I use emacs org-mode on my Linux desktop, and orgzly(http://www.orgzly.com/) on my Android. org files were synced via syncthing.


I haven't seen this come up before, but skimming through the features it reminds me a lot of Engelbart's NLS [1]. Tables, lists, links, exports to other formats, all from a plaintext base, it seems like this was directly inspired by a lot of Engelbart's ideas.

[1] https://en.wikipedia.org/wiki/The_Mother_of_All_Demos


"plus it's completely platform agnostic and future proof, because it's just text"

This always irks me a bit.

Being text doesn't mean that there is no file format and internal semantics to it.

Sure, it's easy to hack together some transformation in Perl, but "plus it's completely platform agnostic and future proof, because it's just binary" would be correct, as well. As long as the format is documented.


You didn't reply under my thread, but I'm glad I saw your post anyway.

What I meant is this: I do have a paperless workflow and used to have thousands of Evernote notes with meeting minutes, scans of paper, etc. Whilst this is working pretty well for now on the Desktop and Mobile, there will be a time in 10-40 years when I need to go back to some of those documents. And whilst I wish Evernote all the best of luck, chances are good that they won't be around or worse.

Whilst you are correct in 'as long as binary is documented' it's platform agnostic, you are also completely wrong. Have you tried to read some documents from just 15 years ago recently? Apart from reading from floppy disks, it's just hard.

The internal semantics of org-mode are important to me now, when I do my actual project. In the far future, the only thing that is important is that I can full-text search and find my old legal documents. That's just a billion times more easy and realistic with a flat text file than with a hypothetical well-documented binary format.


Right. And an Org file that's "gone off" somehow is pretty frustrating. Totally fixable, but very frustrating.


I think an appropriate analogy would be the difference between the source-code and the binary of an application. In theory, the binary would be agnostic and future-proof given the documentation of the format, but the source-code is much more readable by humans and compilers of other platforms, which would make it more future-proof.


You can open it and productively edit it in any plain text editor. That's why it's "just text".


Hmm, what about "decipherable"?

Sure, you might lose runtime access to the data if some ancient library goes poof, but the barriers/prereqs for re-implementing that code from scratch are minimal.


True. But plaintext is almost a self documented format. The structure/format of an org more file is obvious just by looking at it really. Can't say the same about a binary file.


It's always good to see Org mode flagged up (though it gets a surprising amount of love on HN).

I use Org more or less constantly, and I'll take this opportunity to note an Org-related observation that I've been mulling over for a bit. It's apropos of nothing, but then so was this submission :)

The observation has to do with how new Org users get to know the system. The whole thing can seem pretty daunting, especially when you look at some of the examples of TODO setups (http://doc.norang.ca/org-mode.html) in the wild. Pretty crazy.

My nutshell advice for new users is: in the beginning, you should emphasize learning to use Org's tools effectively, rather than spending time organizing your Org files structurally. The initial impulse is: I'm going to make this file look just like my brain (or my project). Instead, learn to use the agenda commands, so that you can make the Agenda look like your project, not the file.

A couple of reasons for this: If you start out trying to make structure (and I'm also talking about very complicated TODO keyword flowcharts), you're going to get it wrong, and it's going to be a pain in the butt to fix. Learning Agenda commands, on the other hand, will always provide you with more flexibility, not less. It will give you the power to handle new situations easily, and to narrow your focus with ease. (Actually the same principle applies to Emacs usage in general.)

For instance: I do a fair amount of event and conference management, little four/five day things. In the beginning, I started by making Org files where each day was a heading, and then the various events lived under the various headings. This meant that, if events got changed around, I had to go to the file and refile, which isn't terrible, but is a pain.

Instead, I now have no day-based headings at all, just a pile of potential events with timestamps. The Agenda organizes things into days for me. If I need to reschedule something, the Agenda provides more than ample commands for shifting dates by hour/day, or simply entering a new date altogether.

Dump everything in one file, all top-level todos. Use the built-in TODO keywords. Learn to make timestamps, and schedule/deadline cookies. After you're good at that, maybe consider using tags (but maybe don't). Spend the rest of your time learning how the Agenda commands work. Stay in the Agenda, and if you must look at a file, do it with <SPC> on the headline (followed by "o" when you're done), or, if you must, <TAB>. Resist the temptation to futz with your files at all, until some real need begins to emerge from daily usage. If you hold out until the annoyance is killing you, it should be very clear what needs to change, and how, and you're unlikely to do something that you'll regret later.

(I should note that I use Org for two general types of work: one is document authoring, the other is todo/agenda management. The above basically only applies to the latter.)

Learn to impose dynamic, temporary structure on your agenda, rather than imposing static, one-time structure on your files.

Here endeth the (unasked-for) lesson. :)


> Stay in the Agenda, and if you must look at a file, do it with <SPC> on the headline (followed by "o" when you're done)

I've been using Org for several years, but I never knew about the SPC/o combination in the Agenda (I recently discovered TAB). Thanks for sharing that!

Another great agenda feature is bulk editing. Mark entries with `m`, and then use `B` to act on them. Bulk refiling is really handy! Scatter is a neat feature too.

Also, I've come to really like indirect buffers (`org-tree-to-indirect-buffer`). You might also find this useful:

    (defun ap/org-agenda-goto-heading-in-indirect-buffer (&optional switch-to)
      "Go to the current agenda headline in an indirect buffer. If SWITCH-TO is non-nil, close the org-agenda window."
      (interactive)
      (if switch-to
          (org-agenda-switch-to)
        (org-agenda-goto))
      (org-tree-to-indirect-buffer)

      ;; Put the non-indirect buffer at the bottom of the prev-buffers
      ;; list so it won't be selected when the indirect buffer is killed
      (set-window-prev-buffers nil (append (cdr (window-prev-buffers))
                                           (car (window-prev-buffers)))))

    (defun ap/org-agenda-switch-to-heading-in-indirect-buffer ()
      (interactive)
      (ap/org-agenda-goto-heading-in-indirect-buffer t))


Good advice, one more thing thats quite useful starting out, if you are a new user, try typing this and see what happens :)

| This is a column <tab>


Do you have tips for the "document authoring" side of things?


No, just write your document :)

Seriously, that's the side of things where Org is meant to get out of your way, not provide you with a bunch of flashy tools. Learning to create and manipulate headings (move up, move down, indent, outdent) should take you all of fifteen minutes. Add plain lists, if you like, and footnotes. That's about it.

Where things do get complicated is when you start exporting documents, and realize it would look a bit better if this bit were just a bit different, and then... rabbit hole. But all that stuff, while fiddly, is pretty straightforward, it doesn't have the emergent complexity of agenda handling.


This will be the major entry point for emacs for many people. Also org mode is very helpful. Simply put it is an amazing add on to human memory. Think like playing a video game on 512 mb ram with lots of lag, that default human memory and now think if the same pc has been upgraded to 32 gb ram. The game will be more fun and no lags and that what org-mode does when used rightly(awesome community will help you get it right. :) )


I found that vim + markdown and vim folds are most of what I need.

I got most what I'm currently doing from here: https://www.youtube.com/watch?v=wh_WGWii7UE


My favorite part lately - org babel for scripting in just about any language (think more flexible ipython/jupyter notebook, in org)


I switched from using org-mode a long time ago and now I strictly use markdown. I find doing simple things like including links, referencing images, and code blocks are so much easier in markdown and I never have to look up how to do something if I stop using it for a while

MARKDOWN:

    ```python

   #code

   ```

   [Google](http://google.com)

   ![Image ALT text](path/to/image.png "Title Text")
ORG-MODE:

   #+BEGIN_SRC python

   #code

   #+END_SRC

   [[http://google.com][Google]]

   #+CAPTION: Image caption

   [[path/to/image.png]]


I find the "Mastering Emacs" book very helpful to learn emacs for anyone interested!

https://www.masteringemacs.org/


I have been interesting in learning Org Mode since first finding out about it a couple years ago. I probably would have had more success if I'd started before purchasing a smartphone. Like a billion others, my smartphone as become my personal digital assistant. Now I would love to (again) have a smartphone with a full keyboard - but the market seems to have rejected that form-factor.


org-mode has an extremely low barrier to entry. I thought it seemed monstrous and magical for a while, but the learning curve is basically strictly linear (and goes on as far as you want, because Emacs).

Smartphones aren't gonna replace org-mode any time soon either: if you do any work on a laptop or desktop, you'll want org-mode. It's the best way to manage ideas and projects.


The problem is that most people now work on multiple devices, including mobile/smartphones, and expect their org to be available at all times in all places. Now, once we have virtual terminals and keyboards in our VR headsets...


Can you sync org-mode between the desktop and mobile devices?


I have several of my files in Dropbox and let it do the heavy lifting. I generally only view the file from mobile. There is a MobileOrg app but it isn't great.


There is also Orgzly for Android, which is much nicer than MobileOrg if you use Dropbox.


I know people really love Org Mode, but I completely fail to see the utility of it. I even used emacs (as a text editor!) for a while, and tried Org Mode multiple times, usually ending in confusion and frustration. Not for lack of trying!

From my experience, our smart phones are much better personal digital assistants than Org Mode can be, as robust as it is.


I think there are a couple of key things that people need to grasp with Org mode. First is the way it cycles visibility. You go from closed, to semi-open, to completely open, back to closed again. You can't go backwards. I know this frustrated me for a long time before I got used to it.

The next biggest frustration is the way it folds empty lines. If you have a paragraph followed by an empty line, when you fold the paragraph, the trailing empty line will get folded as well. This makes it practically impossible to have empty spaces in your outline. Trying to make it work will result in madness for your average user.

Just relenting on those 2 issues and allowing org mode it's own way will go a long way to making it easier to use, I've found.

The main benefit I've found for using org mode is being able to write up TODO lists and then easily move everything around by folding it and cutting and pasting. Also being able to change the organization by easily changing the hierarchy is amazing. I know of no other application that allows so much ease of change.

After that, the spreadsheet capabilities are really quite interesting. I've actually implemented full on XP-style planning lists with automatic velocity calculation in org mode -- complete with automatically generated burn down charts.

Of course, other people use org mode for completely other uses. This is just what I end up using it for.


I too found the behavior of visibility cycling via <TAB> to be a little annoying. What frustrated me was that pressing <TAB> a third time throws a tonne of text (assuming you have a reasonable amount of text) at the buffer. Recently I started using some other visibility commands like show-children (C-c <TAB>) and show-branches (C-c C-k).

For example, I use org-capture+datetree when taking notes and can have months worth of information in an org buffer. I like to use '2 C-c <TAB>' when situated on a month headline to show me all of the top level headings for each day in that month. It gives me a nice overview of what I have been doing for the month.

With regard to your second issue, you can control this behavior with the org-cycle-separator-lines variable. By default, leaving two blank lines will make org leave a space in your outline when folding.


> then easily move everything around by folding it and cutting and pasting.

You could also use `org-cut-subtree` or `org-copy-subtree` for that. And of course `org-refile` (C-c C-w) is very useful, although you'll probably want to customize it to allow refiling to other places than just the first level headlines of the current file.


Sorry for the slow reply. Just got around to looking at `org-refile`. That is absolutely awesome! Thanks!!!


I used OrgMode during graduate school for all my math/science formula heavy papers. Org lets you mix OrgMode outlining (which is very close to Markdown) and LaTeX.

I generally write in org mode and then export to whatever I need to.

I use it on and off for TODO list management but it is really good for writing.


I keep some org mode files in a Dropbox folder 'org' that I can edit with Emacs on all of my laptops, and with Dropbox friendly editors on my iPad and Android Note 4 phone.

It is OK to edit text org files with a plain text editor.


This is my concern as well - if I want to use Org Mode for everything, including "random thing that just occurred to me that I need to do," then what do I do if "random thing that just occurred to me that I need to do" occurs to me while I'm on my phone, not my computer? I want one unified way to organize my TODOs, and it seems like org-mode isn't great for that.


There's a mobile app you can use to note stuff down straight to an org-mode file and then sync it up via Dropbox. Otherwise, I'd note it down in whatever other app you have. If you're following any kind of productivity methodology like GTD, you'll probably have a time in which you can simply retype your notes from your mobile to your org-mode system.


You might enjoy the Neo900 or the Pyra:

https://neo900.org/ https://pyra-handheld.com/


I am an emacs user, but my initial foray into org mode wasn't particularly successful. I was much happier in OneNote.

Now that I work mostly in an OSX environment where OneNote is a stripped down shell of it's Windows counterpart, I've been searching for a replacement. I think it's time to give org-mode a try once again.

I'm not big on this set of documentation though. It's great for a reference, but I would like to see something more engaging that reviewed the features and gave a brief how-to. If anyone has any links, I'd love to explore.

Also... one of the things that I liked most about onenote is a canned integration with outlook - from my meeting calendar entry I could click a button and it would start a new note with the title of the meeting, the date/time, a list of attendees, etc. Does anyone do something similar in org-mode for taking meeting notes?


Have you considered VoodooPad for a personal Wiki? https://plausible.coop/voodoopad/


The most important thing when working with text is, for me, consistent keyboard shortcuts. Just CTRL+A, CTRL+E, CTRL+K, CTRL+Y, ALT+D, CTRL-left/right alone get used so frequently in Emacs that in any other editor I immediately try to set things up the same way (thankfully, there seems to always be someone who writes an Emacs mode plugin for almost any IDE). A massive benefit of org mode, then, is that I can write my notes, meeting minutes, TODOs and even latex/pdf papers as well as track time right there in org mode, with consistent shortcuts and consistent emphasis markup. org-export takes care of producing .md, .pdf, .odt, .html or whatever so that I can communicate with other people. All my org files live in a Dropbox-synced folder. The only thing missing is a mobile app that shows you your agenda in a reasonable format...


I don't use emacs; should I still invest my time in OrgMode?


I've used emacs solely for orgmode over the last year and I'm not sure I'd recommend it whole-heartedly. Orgmode is great, but the emacs learning curve is steep and unforgiving. It still feels as if I'm faking my way through an ancient language whenever I fumble through keyboard "shortcuts".

That said, it's incredibly powerful. Wouldn't continue to torture myself if it wasn't. I like the plain text files, the authoring experience (the document feels alive somehow), and I've never been more organized. I just wish it existed outside emacs!


> I just wish it existed outside emacs!

"Orgmode for Sublime Text 2 and 3" (didn't try it myself though)

https://news.ycombinator.com/item?id=11311465


If you're only using Emacs for OrgMode, my answer is an resolute, "No". You're far better finding a tool that fits in with your current workflow.

The last time we had a post about Emacs, I wrote a rather long winded response, but the summation of it was this: the value in investing in tools like Sublime Text, Vim, Emacs, etc is when you can pile as much of your workflow into that tool is possible. The power of Emacs is that it is a completely customizable tool. It's primary purpose, of course, is to be a text editor, but you can configure it to be an email reader, web browsing client, note taking tool, it can run external commands, etc. It's powerful, and it can literally be the only application you have open.

The downfall with Emacs is that integrating it in certain environments, namely Windows, is not a trivial matter. I use Visual Studio, Outlook, and Lync at work. I could configure all of that to run in Emacs, but then I'd be taked with maintaining that in addition to my own work.


Yes. I would say it's worth learning. The best way to learn emacs is to use it everyday. When you're comfortable enough, then you can start learning org-mode. You'll be much more productive eventually after you discovered what org-mode can do.


I find org mode hard to use — the keystrokes seem inconsistent, and I get funky visual results. I.e., sometimes the reordering does what I expect, sometimes it doesn't. Sometimes a blank line gets inserted which changes the control behavior.

Maybe I'm doing something wrong.


Emacs has been my text editor of choice for quite a while already, and I'm pretty happy with it. But I've never seen the point to org-mode. What's the benefit over simply using a physical notebook to take notes and keep track of my schedule?


That's not the question for org-mode - that's the question of using digital vs. physical for note taking. And the answer probably depends on person.

For me, I went through everything. I've been switching around between paper and digital. I did GTD on paper, did Bullet Journal, and on the computer side I went through Workflowy, OneNote, using Outlook for tasks and some other things too. I eventually gravitated towards org-mode and stayed there.

For me the biggest advantage of org-mode over everything else, paper and digital alike, is its speed and flexibility. I ultimately dislike physical note-taking because my handwriting sucks. And other computer tools lack the speed you get from pure keyboard interface, and the flexibility of org-mode's Agenda system.


Yeah. Comparing org-mode to handwritten notes? You can grep through your notes, quickly refile, integrate with other software, use hyperlinks, and synchronize over multiple devices. But the same is true of onenote or evernote.


> But the same is true of onenote or evernote.

Not really. With OneNote and evernote you can't (literally) grep through your notes (yay cloud storage, the only thing worse than propertiary formats). They don't integrate all that well with other software, and you can't refile quickly. Way too much clicking in both to do even simplest of tasks, compared to Emacs-powered org-mode, where everything is keyboard driven, and you can do things affecting multiple files simultaneously from the agenda buffer.

About the only places where OneNote & Evernote beat org-mode is the convenience of embedding rich media in notes (in org-mode you have to store files separately and embed links, though there are ways to make e.g. linked images to display inline) and mobile interface. Mobile apps for interaction with org-mode are sadly subpar at the moment.


I can draw arbitrary diagrams and pictures on my notebook. I can write using arbitrarily big or small letters. I can write fancy formulas and even make up my own notations on the fly. I can use pens of different colors, and let the colors highlight the relationships between ideas. And I don't need to worry about “synchronization”, because I always carry my notebook with me. It's not all downsides for handwritten notes.


Totally. That's why in my response I avoided saying that one is better than other. It totally depends on your situation and use cases.

There's tons of stuff that is about infinitely more convenient to do with paper than with computers (even tablets). Fast arbitrary drawing, fast arbitrary coloring, being able to get a full overview quicker (if you use a binder, just take out all your notes and spread them on your desk - even three 4k screens won't beat that), etc. But nobody says you have to stick to one and only system for everything. Personally, I still make a lot of designs on paper - but I store tasks and project notes in a digital form.


> It totally depends on your situation and use cases.

Agreed. That's why I asked what other people's use cases are. Genuine curiosity. :-)


For me anyway, it's the same reason I like Lisp more than other languages.

Pairing with a client the other day, she remarked that she had a hard time following what I was doing. This is because when I write Lisp I usually don't go into it with a plan, because I don't know what I'm going to write yet. So I just keep writing "the next thing," and at the end, presto, a working program!

Org-mode is like that in its relationship w/notebooks. If you know what you're writing, a notebook probably is better, b/c it's easy to carry, doesn't run out of battery, has no load time, etc.

But if (like me) your notebooks have a lot of things half-started, scratched out, and replaced, well, then, org-mode may be for you!


I'm always interested in orgmode, but for TODOs and tasks I need ubiquitous access, a mobile app, and the ability to delegate tasks. Is there any way to do that (e.g. using a bridge app) with org-mode?


I recently read a blog post[1] describing to store dot files in org mode. It is a fantastic technique and I really don't need to worry about symlinking files. All my dot files are stored in one orgmode file. Brilliant usage of org-bable feature. This also influenced moving my init.el file to org file.

[1] https://expoundite.net/guides/dotfile-management


I've been using Org-mode and babel for about a month; and I'm sold! I think the way I was writing software before outlines and the literate nature of Org-mode was just wrong. The software you write when you do literate programming can be read like a book, following the data-flow chronologically. That's a really attractive trait if you are to share your code with others and of course your future self.


I love plain text, and like the idea of having notes in one place, but I use tons of pictures when taking notes (like taking screenshots of online class whiteboards). Evernote is awesome for this kind of note taking. Is there an easy way to add images to Org Mode notes? Or would I have to manually move the image to the right directory, copy the path, and paste it into the Ord Mode note?



I would love to make the switch from an IDE to something like vim or emacs, I just don't know where to start.

Is there something like oh-my-zsh for emacs?

I want to be able to have all of the IDE features that I've come to know and love but for a wider range of languages.

I usually use C, Asm, Python, php, bash, and a few other languages.

don't know where to start.



Have been using org-mode for a few years now but never reached the point where I would feel comfortable. I can't find a good way to organize my files, there are at least 20-30 files in my Dropbox, some are empty, some contain random notes.


Have you tried org-capture? It's nice to have the files be accessible through keyboard shortcuts, but it has the additional benefit that the potential places I could drop some random note are specified in advance, forcing me to maintain some level of organization.


I've been struggling with this. This comment was pretty eye opening:

https://news.ycombinator.com/item?id=11386943


Org Mode really is the application of emacs principles to information management. I love it and used to keep my emacs config in org. The reason I don't use it so much for GTD or capture is the lack of a usable iOS sync experience.


Anyone turned off by the ridiculous amount of config required for a todo list, feel free to try out my plaintext productivity 'suite'. It's intended to be used in vim, but do as you please!

> https://github.com/luxpir/plaintext-productivity

Features: todos, timestamps, tagging, calendar, kanban-in-a-text-file (vertical, not horizontal)

It was a response to org-mode complexity and the cruft it encourages you to stow away and never look at again, as well as its rather insane amount of features, 95% of which I had no need for. I make some more detailed comments about org-mode in the post linked to from the repo (https://lukespear.co.uk/plaintext-productivity).


Not to put you down or discourage you from sharing useful things, but even that much config is too much for me.

My .vimrc and .gvimrc are small enough that I have them memorized, and I have no reservations about manually typing things like "TODO", date/time, tags, or check boxes.

Like I said, I don't mean to discourage you, but that's my personal preference. I'm sure org-mode and the like make some people more productive, but honestly I don't think the (rather small, really) feature set justifies the bloat; and, frankly, I have a tendency to get sucked into a self-inflicted configuration hell, so I'm likely more productive without them.

ETA: Looks like you're being downvoted. I have no idea why, given that this is Hacker News, after all, and you've just linked us to a hack of your own... Sometimes I hate this place.


Appreciate the response. The org-mode lot can be quote passionate, as much as the proponents of 'the other' editor I mentioned...

TBH the config is not as minimalist as it could be - the autocomplete isn't necessary, nor the archive and save keymappings. Just the syntax, fold and timestamp settings would do - 5 lines? Many would have those set up already... anyway, the idea is to be editor-agnostic, even (poor) Windows 10 users could use notepad with its timestamping or Notepad++ with its folding etc.

No discouragement at all - whatever works for you. Manually typing is essentially what the calendar setup I posted 'offers'. It's typically quicker than picking from a date-box to just type 12 - TASK under the correct month. Completely with you on that front.

My main problem with org-mode and taskwarrior etc. is they are based on the premise that you will have an inordinate number of tasks to manage. Productivity does not that way lie, IMO. I am not into 'folding away' 400 tasks and brain dumping every useless thought I have. Nor am I into being forced to review dozens of time-wasting entries every week.

Being strict with my work tasks/goals/deadlines means I run a lean list - I've run too many crufty ones before to go back there. I just want the computer to automate as much as it can and to augment my wetware, not to give me more work.

Also no probs for the downvotes. The comment started with a few + but then they quickly got overruled. It happens, no big deal, I just always prefer to have both sides of a cult presented in my decision-making :)


I'm not a Luddite, but I prefer to use paper notebooks and a fountain pen to remember things and organize my thoughts. I prefer Quo Vadis notebooks with beautiful creamy unlined paper suitable for writing and sketching.


I can appreciate the ability it gives you to flesh out tasks and projects.

Mindmapping is another nice tool to achieve this. Freemind is a useful piece of software (but doesn't have the future-proofness of plain text.)


I was beginning to learn org-mode a while back, but stumbled on this: there simply isn't a nice emacs for the iPad, which is what I have on me at all times.


Found this useful for navigating:

;; Scroll line by line

(global-set-key (kbd "M-P") 'scroll-down-line)

(global-set-key (kbd "M-N") 'scroll-up-line)


I just wish there were a decent mobile client.


I requested tag hierarchies on the mailing list back in 2011 and here it is in the release notes.


anyone familiar with a way to export to html and make it editable from say a smartphone accessing a home apache server?


a very happy org-mode user here!


Tried to switch to vim/Emacs repeatedly for more than 10 years, never understood the reason of cryptic commands and shortcuts, that was OK 25 years ago, but since then, keyboards got, say, _arrow keys_. Alt-F is "forward one word"? OK, can be memorized, but there is Alt-right arrow for everything else, much more intuitive.

UI matters. Shortcuts and their relationships are part of the UI, and it's horrible for Emacs. It's the same as some people saying "syntax doesn't matter in programming languages", to which I say BS.


Arrow keys are the worst ergonomically. You need to be able to stay as close as possible to the home position. When my RSI got really bad I noticed how bad it can be to keep reaching for the arrow keys.


I don't feel uncomfortable when reaching for the arrow keys with my right hand.

But I _do_ feel very uncomfortable when I press wrong navigation key in Vim (was it h or j? My fingers don't _feel_ it), and it's really uncomfortable reaching for Ctrl for anything in Emacs, especially Ctrl-B — now _this_ is RSI-prone).


Remap CTRL to CAPS LOCK. It's a pretty standard thing in Emacs world.

Also, learning keybindings is a matter of your state of mind. Or rather, of your attitude. You didn't start knowing how to use arrows, you learned it at some point in your life. It took time then too. Like 'amasad wrote, treat it as a new controls for a videogame. Somehow people don't have problems with learning those.


Some things are inherently easy to learn and to use, because they map to innate categories (e.g. direction and size). And some things are arbitrary and require memorization.

And don't get me started on videogames. When I was still playing them, I was constantly remapping keys.

One can say: "OK then, it's Emacs, you can remap the keys any way you want". And believe me, I tried. And struggled with keymapping conflicts here and there (including Ergoemacs).

I adore the idea of absolute configurability. I like how Emacs is built and what amount of extensions is available. I just can't use it, no matter how I tried.


Well, I have much more problems with Vim bindings (hjkl) than with Emacs, which map to obvious concepts - #\p for "previous", #\n for "next", #\f for "forward", #\b for "backward", etc. Still, I found out that 5 to 10 minutes of focused training is enough to overcome any set of keybindings. Seriously, try that - 5 minutes, to the clock. Most people never spend more than a minute or two on a new thing, and then give up and complain it's too difficult.


Spend a day / a week and (re)learn to properly touch type, then you will feel uncomfortable reaching for arrow keys and you won't miss that h or j.


True, emacs default key binding is also RSI-prone. I suggested going with vim's key binding (evil-mode, spcemacs) for newcomers.

But I don't buy the argument that they're so hard to learn, consider it a new video game controller.


Video game _controllers_ are designed to be intuitive, with many discarded attempts, lots of A/B testing and ergonomic tests. One can't say it about Emacs default layout, it is pretty much arbitrary (unlike videogame controllers).

There are some games requiring memorizing controls on keyboard, like flight sims. For me, those were impossible to play, until I bought flight stick hardware, which is designed much better.

And I have quite good working memory; I remember all my credit card numbers, more than 100 phone numbers, etc. — which allows me to be a decent software engineer. But I can't recognize faces, and I have problems with some tactile combinations (not all; I can blind type). But vim and Emacs are really hard to me for some reason.


Emacs key layout isn't arbitrary. It was optimized for a particular keyboard the original develops used. Since then the layout has changed a little but personally the keys work well for me


That's why you could remap ctrl and put it just next to SPACE. Speaking of that, I also remapped Shift to space, and now I use space for both shift and space (sounds crazy, but it is ergonomically perfect!).


Sorry, on Macs the Cmd key (the one next to space bar) is pretty busy with other mappings.

I remapped Ctrl to Caps Lock, which is somewhat better. But Ctrl-B is still quite painful.


I also have a Mac, and I remapped that busy cmd key to left alt ;)


To me the most painful position by far is all fingers on home position.

If you ask a physical therapist what is the best way to sit on a chair they will say it is to switch position constantly. I'm not buying that it is opposite for a keyboard.


Moving around will help blood flow and will get you to release the static contraction (or switch muscles). That affects your forearm, wrists etc and I don't think has anything to do with your fingers.

For me, keeping at the home position limits wrist contortions that I associated with my increased pain.


This is a huge mistake. Some of my friends got RSI this way.

You have to move your _arms_ when typing, not only your wrists.


Citation/explanation needed.


This was the case for me as well, until I got myself a split ergo keyboard. With conventional keyboards, you have to twist your wrists for your fingers to stay on the home row (even more so if you have big hands).


Vim and Emacs are two different beasts. My personal setup is using Spacemacs, after having my own clumsy customization on both Vim and Emacs. So now I use Emacs with Vim keybindings.

Spacemacs has been suggested many many times in similar threads. I also suggest you give it a try, as its keybindings are very user friendly and documentation is good.

And per your specific example: Vim has a great system to move around text. You just need to get used to it, but basically, you'll be executing "motions", where you're telling the software exactly what you want to do using very few keypresses. Anything can look cryptic if you don't take the time to learn it! Trust us, it's worth your while! You are truly limiting yourself by only using arrow keys. You'll quickly stop using them at all in Vim, while gaining productivity quickly. And if you don't like Vim per se, some software supports Vim keybindings.


I tried repeatedly for many years and still couldn't adapt. And I easily adapted to, say, blind typing.


Then try again with Spacemacs. It's basically just a distribution of Emacs that comes preconfigured. I didn't even want to learn the Emacs bindings after using Vim, but this is a non-problem in Spacemacs. Just add the plugins you need to your config file, and voilà. I'm sure you could like it.


My emacs binds the arrow keys to move by character and alt+arrow to move by word. But M-f, C-f, C-M-f (and ditto for -b, -n & -p) are a pretty powerful command language for dealing with text & code.

You're right that syntax matters: and emacs has a very nice syntax for dealing with text & code. vi is probably better, but I like emacs and am used to it, so I don't bother with spacemacs. CUA bindings are … not good.




Registration is open for Startup School 2019. Classes start July 22nd.

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

Search: