I'm looking for a simple program that takes as input text files, allows me to tag them on a relevant paragraph or subsection, and combine those tagged text snippets in files corresponding to each of those tags. For example:

[idea] "this block contains an idea and where I stumbled on it"
[booknote] "this block is a quote from a specific text"
[idea][todo] "something I need to get done that is associated with an idea for some other endeavor"

This would result in, for e.g., a file "idea.txt" that contains the first and third lines along with a timestamp for the write date of these various snippets or of the last write date of the files they come from. In terms of scale, there are a few hundred files to process.

I've seen references to Evernote, OneNote in this thread (How can a writer efficiently manage many text snippets?) but are they best suited for the task I'm after? I wasn't sure if they'd work with text snippets or only whole files that have been tagged. I'm also looking for a lightweight application and to run all this locally and not upload my files to the cloud.


2 Answers 2


I've not used it, but it sounds like Org Mode might do what you want. It requires emacs which runs locally, although given your markup and output needs perhaps a bespoke solution would be necessary.

  • Thank you, this might be a good option. I've had a cursory look at Org mode but need more information from their community to see if that's a good approach for what I'm after.
    – SottoVoce
    Jan 9, 2021 at 23:56

If you know how to, or like to learn scripting, you could, depending on your OS, look into bash (Linux, Mac) or Power-Shell (Windows) scripting to filter lines from the file with a tool like grep and then pipe it to a secondary file. You could even script it.

Here's a short example (Mac OS command line):

cat file.txt | grep -i "\[idea\]" > idea.txt

Which would produce the file idea.txt:

[idea] "this block contains an idea and where I stumbled on it"
[idea][todo] "something I need to get done that is associated with an idea for some other endeavor"

However, if you wish to go the script route, I recommend regular Stack Exchange.

If you just want to keep notes and assorted thoughts in some software, you might want to look into Microsoft One Note. It won't necessarily abide with your specific structure, but it has a well functioning structure itself.

If you wish to keep track of to-do-list items. I recommend, RememberTheMilk. It too uses its own structure of the information. (Come to think of it, RTM with tags will do exactly what you want, but with a web interface, check it out!)

  • Thank you for the suggestions. As I considered creating a script to do this, I realized that the bigger challenge is less how to extract text --easily handled by xml or other parsers -- and more how to tag it. So I think what I now need to find is an editor that makes that easy to do. Or one that makes it easy to tag text snippets on the fly. So perhaps One Note is good for that.
    – SottoVoce
    Jan 10, 2021 at 0:00
  • @SottoVoce, OneNote works more with larger texts, pages. That can have tags, but you'd then find the whole page if you search for the tag. RememberTheMilk works with tasks (one-liners) that have tags and can have a description. Here's an example of adding a to-do in list "list1" with tag "tag1" and text "do something" in RTM: `#list1 #tag1 do something"...
    – Erk
    Jan 15, 2021 at 21:37
  • I use OmniFocus and could use tagging in similar fashion. But it is intended as a task management app so not sure it would be the right way to go. But your thought is a good one and I'll experiment with Omni to see if it can do what I'm after.
    – SottoVoce
    Jan 19, 2021 at 21:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.