3 ms·
I'm actually a windows user mainly, but I do dabble increasingly in linux. I keep hearing about this Org-Mode. Can someone explain it to me in simple terms? Wha
by roryisok 10y ago
I'm actually a windows user mainly, but I do dabble increasingly in linux. I keep hearing about this Org-Mode. Can someone explain it to me in simple terms? What is it exactly?
- Jtsummers 10y agoSimplest use-case: It's a fancy outline mode in emacs. (NB: You can use it easily in Windows, just go to the GNU Emacs home page and download the emacs binaries, I do this for work where we're a Windows shop.) Simplest features, outlines: * This is a headline This is my content ** This is a subheading, it's been folded... * This is a headline This is my content ** This is a subheading, it's not folded More content. It's a plaintext markup format, akin to markdown but not the same rules. Markup rules: *bold*, /italic/, _underline_, =monospaced, good for code= You can make enumerated lists or unenumerated lists: * A heading 1. List item 2. Another item, folded... * Another heading - list item, no enumeration - another item - sub-item NB: Emacs shorthand: C-(character) means press Ctrl+(character), C-(character)-(character) means press Crtl+character, continue holding control and press the next character (the characters are pressed in sequence, not simultaneous). M-(character) means, on windows, the Alt-key (left-alt specifically?). Going fancier, let's make a TODO item! * Project ** task ** Another task On each heading, press C-t * TODO Project ** TODO task ** TODO Another task You finished task? C-t again * TODO Project ** DONE task ** TODO Another task You can do more configuration so it includes the time and day completed. You can change the workflow away from just <none>/TODO/DONE, as well. For code projects I have BUG/FEATURE/TRIAGE as well. TRIAGE indicates a possible error that's been discovered and its details are in the contents. BUG indicates that a bug has been identified and its details. FEATURE is a request and its details. Check out their site (http://orgmode.org/ http://orgmode.org/) for a lot more details. It can do a ton of things. If you really want to get started, just treat it as an outliner to begin with. Start using additional features as you need them. Like emacs and vim, it's a tool that you can grow into. At the top of all of my org files is at least this directive: #+STARTUP: indent hideblocks content indent means that the outline will look like: * header 1 * subheader content Instead of: * header 1 ** subheader content It's cleaner, IMHO, and the second version is the actual file contents. It's strictly a change to the presentation. hideblocks means that codeblocks and the like are hidden to begin with when I open the file: #+begin_src c void function(void); #+end_src becomes: #+begin_src c... content means it'll show all the headlines, with their contents folded up. * H1 * H2... * H3... * H4 You can make schedules in it. Make checklists in it. Write code in it (literate programming). You can export it to LaTeX and HTML and other formats. You can tag headers * Tagged header :work:broken-feature: And search those tags. I'm not sure how much else to say, it's big. But read the site. Play with it. Realize you want to do something, google that task and org-mode and someone probably wrote a blog explaining how to do it in org-mode. EDIT: org-mode is included in the default emacs builds. You don't have to seek it out, though it does get updated independent of emacs. Emacs has been getting frequent updates the last few years, so you're usually not a major version behind if you just grab the emacs distribution and use its org-mode. org-mode does sometimes create breaking changes in their formatting. But this has only bitten me once, and that was with a file I made in 2010 and reopened in 2014. The changes (forgot the details) needed to conform to the new formatting rules were not big. The biggest hit this last time I think was with the publishing directives and system.
- roryisok 10y agoWow, thanks for the in-depth reply, I'll definitely check out emacs!
- Jtsummers 10y agoNP. I'll admit to being an emacs evangelist. But I can tell you what I like about it, and it's a quality you can find in other systems: It's fully, and easily, extensible (once you learn the language, emacs lisp in this case). I use Visual Studio at work for C# projects. Extending it is a non-trivial thing. If I just want to change a simple behavior of the editor, it's non-obvious where to start, and it's probably not as easy as writing a simple 3-line function and putting it in a configuration file. Emacs, vim, Sublime (ok, no experience with it, but it seems easy from what I've seen), and others reduce this down to: Create the function or functions Put them in a specific file or the file in a specific directory At most reload the whole editor, but more likely just tell it to refresh its plugins or to execute that bit of code org-mode, for me, is just a very, very useful tool that covers a lot of use-cases for me, and works across each OS that I use (Linux, Windows, macOS). But it's always worth exploring to find what works for you. If nothing else, you'll have "wasted" your time learning how to use emacs, and should you find yourself "stuck" in it, you won't be lost in the chords.