Emacs' Org Mode and Productivity Systems

(Josh Cohen) #1

We talked about Vim in another thread, and Emacs has been mentioned a few times.

I’ve been experimenting with Org Mode for a while. It’s an extension for Emacs (a programming editor) that is very convoluted and interesting. My goal is to pull my notes out of Google Docs, Dropbox, Evernote, Trello, and all the other programs I’ve tried and put them in Org Mode. Has anyone else here used it (or similar productivity systems)?

So far, I like it. :slight_smile:

Everything is stored as plain text, so my notes aren’t tied to Emacs or any other software. The notes can be kept in version control (e.g., Git) and/or synced with Dropbox.

Here is an overview of how it works:


I’m using it too. There is also an SRS extension : drill-mode, that can be used for flash cards (including cloze deletion, multi-sided cards, etc.) but I don’t used it.

The feature I use the most is the tables. Just for that, I can’t do without emacs/org-mode.
The calendar is very useful too.
And you can also export the notes to html/markdown/pdf/…

Oh, and I use that for my bookmarks too (with org-protocole).

Anyway, I’m a huge fan, and all my notes are kept in org-mode, synced with git.

(Josh Cohen) #3

Thanks for the links. I’m usually a Vim user, but I’m using Spacemacs to handle org mode. Are there any other Emacs packages I should check out?

I would switch to Spacemacs entirely, but I don’t know how to function without tabs, and I couldn’t find any way to do that in Emacs. In Vim you can have layouts of buffers (as “windows” in Emacs) like this example which has an HTML file, CSS file, and JS file in one tab view:

Vim buffers

At the top there are tabs like this which let you switch between layouts of buffer windows:

Vim tabs

In that screenshot, I have frontend files (HTML, CSS, JS) in one tab and backend (Python) in another tab. Switching between tabs/layouts is a quick keyboard command (gt or gT).

I would like to use Emacs more, but that’s the main reason I haven’t switched to it when programming. Maybe there is a way to use multiple arrangements of buffers in Emacs (or an entirely different workflow), but I haven’t figured it out yet. :slight_smile:


I’m not a vi user, but there is evil-mode that I think you will like: https://www.emacswiki.org/emacs/Evil

I know that a lot of vi user that go to emacs use Evil-mode. It seems that there is an option for the tab feature you are looking for (https://juanjoalvarez.net/en/detail/2014/sep/19/vim-emacsevil-chaotic-migration-guide/).

However, what I do for a similar behavior (I am using vanilla emacs, not spacemacs, so keys are probably differents, but using C-h f (describe-function) thename-of-the-function, you should have the right shortcut):

  • split the frame in several buffers, using C-x 4 f (find-file-other-window), C-x 4 b (switch-to-buffer-other-window) or just C-x 3 (split-window-below), C-x 2 (split-window-below)
  • store the configuration into a register with C-x r w (window-configuration-to-register) +a letter/number
  • then, you undo the splitting, open some other files/buffers
  • to go back to your config: C-x r j (jump-to-register) + the register letter/number

You could also use different frames and navigate through these frames :

  • C-x 5 f (find-file-other-frame) to open a new frame
  • M-x set-frame-name, to give it a name
  • M-x select-frame-by-name, to navigate between the frames.
    There is also C-x r f to store a frameset, and C-x r j to jump to it.

Which programming languages are you using ?
For python (based on your screenshot ;]) there is a lot of things, that you can find in elpy: https://github.com/jorgenschaefer/elpy
When doing html/css/php/js, I like http://web-mode.org/, but some people prefer multi-web-mode (other options here: https://emacswiki.org/emacs/MultipleModes).

Some other modes that I use:

  • ace-jump
  • helm-mode (similar : ido-mode)
  • rainbow-delimiters
  • company
  • yasnippet
  • projectile
  • magit (a must have)

There is also multiple-cursors that is famous, but I prefer shortcuts, regex-query-replace or macro to achieve the same things.

Hope it helps !

(Josh Cohen) #5

Thanks – I’ll check those out. I’m mostly writing Python, JS, PHP, HTML, CSS, etc. at the moment.

I have Evil installed, and Spacemacs comes with some of those, I think. There is a .spacemacs file, where you can add new packages to install, something like this:

    ;; ----------------------------------------------------------------
    ;; Example of useful layers you may want to use right away.
    ;; Uncomment some layer names and press  (Vim style) or
    ;;  (Emacs style) to install them.
    ;; ----------------------------------------------------------------
    ;; etc...

I was thinking that I would learn Emacs through Spacemacs (which is configured for Vim users) and then switch over to plain Emacs + Evil…

(Josh Cohen) #6

I just switched from Spacemacs to regular Emacs. I’ll start installing some of your recommended extensions as I experiment with it.

So far I have:

  • Evil
  • Org Mode
  • Rainbow Delimiters

And I found a tabs extension that gives me exactly the workflow that I like. :slight_smile:


Glad you could find how to set up emacs to your convenience :slight_smile:

I think a lot of emacs users like emacs because it’s highly customizable and you can set it up to work exactly how you need.

I found a lot of useful things at the beginning on the emacs wiki, and looking at others configurations. Some “famous/useful” are :

  • Julien Danjou : https://github.com/jd/emacs.d (a python/org-mode user)
  • Sacha Chua : http://pages.sachachua.com/.emacs.d/Sacha.html#org1066de2 a huge org-mode user
  • Magnars : https://github.com/magnars/.emacs.d/ (the emacs rocks videos are nice if you don't know them)
  • Wasamasa : https://github.com/wasamasa/dotemacs/blob/master/init.org

And some blogs with lot of info:

  • Sacha Chua http://sachachua.com/blog/category/emacs/
  • Malabarba http://endlessparentheses.com/
  • Abo-Abo http://oremacs.com/

(Josh Cohen) #8

Thanks, I’ll check out those links. :slight_smile:


I´m also using Emacs and Spacemacs :stuck_out_tongue: I have been playing with org-mode, it´s cool!!!

(Josh Cohen) #10

I’m finding a lot of interesting things in Emacs, like magit and helm.

This post was helpful with a few things: Vim Within Emacs: An Anecdotal Guide.

Also this: My Workflow with Org-Agenda

And this video on Emacs as a writing tool:

I’m using Vim for most programming, but Emacs keeps looking more interesting (with Vim keybindings).