Master file or many files?

Table of Contents

Org-files are great and have some great features, but there are advantages to micro-files, too

Discussion on reddit at https://www.reddit.com/r/emacs/comments/13khozp/orgmode_megafiles_or_many_individual_files/

I am beginning to think that this question is more than just taste; there are actual technical consequences here. The question is, should I switch my journal, blog, and/or note-taking method away from big master files with lots of entries to individual files per entry? I am in the process of switching my passwords from a big GPG-encrypted org-file to using the linux password facility1, and I have just discovered denote2, which likewise leverages the system naming/file-searching facilities to organize a knowledge-base in an emacs-agnostic manner. This is different than the super org-file method I’ve followed, which leverages some excellent narrowing/searching tools to get around. It was the use of tools such as consult-org-heading, narrowing (recently super-powered by zone.el 3), and find-grep that I have gotten around a relatively small collection of large org-files.

Before anyone answers, “just stick with what works for you,” don’t evade the conversation. If it helps, imagine I am a new user wondering what advantages are at stake for making method choice for the long-term.

Some comparisons as I see them:

Few Super-Files (orgmode) Many files
Search with emacs: Emacs-agnostic search
- emacs standard interactive search features - grep/find-grep
Tools like consult-org-heading for easy navigating Not dependent on emacs or orgmode, but…
Utilizes emacs narrowing and indirect-buffer Still Benefits from emacs system utils
emacs-powered search, replace, multicursors - dired
emacs is really good at in-buffer operations - git
- Things like undo areas, multiple cursors, kmacros Won’t conflate buffers as much (easier to use distinct buffers)
Maybe better preserves local context of information Possess extra information fields: file name, dates
In-file heirarchies with rich info (todo, priority, etc) Directory heirarchies and/or tags

Footnotes

1 Even managers like Gnome (and hence maybe Ubuntu) and many other Linux flavors use something that wraps pass, https://www.passwordstore.org/ . Pass also has a great command-line facility which means that it is highly compatible with emacs. Sure enough, there is an emacs package password-store that works splendidly as a wrapper at https://git.zx2c4.com/password-store/tree/contrib/emacs, as well as (and this was the clincher for me) plugins that allow encrypted passwords to be syncronized via git and hence with emacs impressive Magit.

2 The denote page is here, https://protesilaos.com/emacs/denote , and the code can be acquired on github https://github.com/protesilaos/denote

3 Zone.el for better layered narrowing experience: https://www.emacswiki.org/emacs/Zones

Tory Anderson avatar
Tory Anderson
Full-time Web App Engineer, Digital Humanist, Researcher, Computer Psychologist