Plain Text Notes
For years I’ve been a heavy note taker, as well as a semi-regular journal writer. I try to keep fairly detailed notes while I’m learning something new, which comes in handy more frequently than you might think. Note taking is my secret weapon when it comes to keeping up with new technologies, or even old technologies that I need to pick up and remember.
For many years I used OneNote to keep notes on Linux commands, configurations, general tech topics as well as my journals. OneNote is a great app, but after several years I wanted to give Evernote a try and in the transition I found the biggest weakness of OneNote and basically every other note taking app: Exporting and Importing from other platforms.
Moving from OneNote to Evernote was painful, OneNote only has an export as pdf option, and copy/paste has a tendency to paste text as an image. For me the biggest appeal of Evernote was the ability to export notes in a more portable manner, namely html.
Evernote is a powerful cross platform organization tool, but I’ve started to wonder if I really need it these days. Given the rising cost of pretty much everything and considering my laptops filesystem can serve the same purpose and comes with very capable document search abilities (spotlight on MacOS, and the Pop!_OS launchers “find” keyword).
Plain text the universal format
After my experience moving from OneNote to Evernote I wasn’t thrilled about the idea of transitioning to yet another notes app. So after giving it some thought and looking at my options I came across a nice little blog dedicated to writing in plain text: The Plain Text Project.
I had a moment of epiphany 🤔. A good portion of my job involves searching, editing, and maintaining plain text files in the form of configurations, code, and even this site is written purely in markdown. When I think about it there isn’t much I need a fancy note app for that I can’t do in a more flexible and portable manner on my own with plain text files.
Why plain text?
- Portability. Plain text is universal. A file written in plain text can be opened on Mac, Linux, BSD, Windows, iOS, Android… basically, anything you’ve got can open a plain text file.
- Speed. Plain text is fast and clean. Without being presented with hundreds of text formating options you can just sit down and start writing.
- Searchability. You can search plain text documents with command line tools, gui tools, fancy indexing tools, and dozens of other tools. If you write it in plain text you can find it again later.
- Control. You can create as simple or complex a system as you want in plain text. If you want to have an index in elasticsearch you can do that. If you just want a bunch of files dumped in a folder - you can do that too.
- Storage. Text files are small, and quick to open.
Why not use plain text?
- It’s not as pretty. Some people enjoy the text formating options in big office applications or in the professional note taking apps. If you really take issue with the simple formating of plain text files then you probably won’t enjoy the experience.
- No embedded images. You can’t attach photo’s to plain text, and this is one of the big drawbacks for me. When I’m journaling about a vacation, or an event I often like to include pictures in my journal… I haven’t come up with a good system for that other than referencing the day and saying “check photos from 2022-02-19”.
How I’m using plain text
I spend a lot of time on the command line and have become so efficient with Vim that I decided right away that I was going to be using Vim for most of my writing. I do all my writing for this blog with markdown and Vim. In that vein I found an incredible Vim plugin called vimwiki as a way to keep my personal knowledge base in place while also keeping my writing both searchable, portable, and shareable.
This isn’t to say you have to be comfortable or even aware of the command line to use plain text - it just means you’ll use it differently than I do.
Plain text in markdown means I can easily share anything I need or desire to share via my blog. It also means I can keep anything I want to stay private or have no need to share completely under my control - I can put that info my personal iCloud storage, or off the cloud on my hard drive, whatever I want and I can change my mind later without worrying about migrating between apps.
Tags in plain text
Over my years of keeping notes I’ve found tags to be the best way to manage large quantities of information. I keep tags for technologies (Linux, Podman, Vim, etc), I keep tags for places (Parks, Cities, etc), and I keep tags for my children so that I can easily search for very specific information.
When I moved to plain text files I switched from tagging with
@ because markdown uses the
# pretty heavily and
# is commonly used for comments in configuration files. In order to keep track of my tags and retrieve the information in those tags I wrote this handy bash script that can search a custom directory for tags like
The notes-cmd script
I wrote this script to list my tags, if you like it feel free to use it, if you can make it better feel free to contribute something.
If you found this useful please support the blog.
I use Fastmail to host my email for the blog. If you follow the link from this page you’ll get a 10% discount and I’ll get a little bit of break on my costs as well. It’s a win win.
Backblaze is a cloud backup solution for Mac and Windows desktops. I use it on my home computers, and if you sign up using the link on this page you get a free month of service through backblaze, and so do I. If you’re looking for a good backup solution give them a try!