Emacs' Org Mode and Productivity Systems

5 posts / 0 new
Last post
#1 10 January, 2017 - 22:31
Offline
Joined: 1 year 10 months ago

Emacs' Org Mode and Productivity Systems


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. :)

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:

11 January, 2017 - 00:36
Offline
Joined: 7 months 3 weeks ago

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.

12 January, 2017 - 20:29
Offline
Joined: 1 year 10 months ago

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. :)

14 January, 2017 - 02:35
Offline
Joined: 7 months 3 weeks ago

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-mi...).

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 !

14 January, 2017 - 15:54
Offline
Joined: 1 year 10 months ago

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:

dotspacemacs-configuration-layers
  '(
    ;; ----------------------------------------------------------------
    ;; 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.
    ;; ----------------------------------------------------------------
    auto-completion
    better-defaults
    emacs-lisp
    git
    xkcd
    shell
    markdown
    ;; 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...

Learn memory techniques for free! Just click the "Sign up" button below to create an account and we'll send you an email with some tips on how to get started.

Related content: