My new note taking system

2025-12-09

For years I have known that I needed to take more and better notes, but I haven't been bothered to move away from my very unwieldy "one giant .txt file" system.

Because I was taking notes in one giant .txt file, I wasn't taking notes very often, because it was a pain to navigate and append. There was practically no organisation at all. I had no system. My solution to this is not exactly original or complicated, in fact it's about as basic and simple as possible. Time will tell how well it works.

Pretty much, I created a .notes folder in my home directory, which contains the file "notes". That file then has a series of labeled file paths to subdirectories which themselves have text files in which I can take notes. For example the "notes" file has a section labelled "book notes", and then links which look like "book-notes/baudrillard.md", "book-notes/marx.md". (These are relative filepaths, so those would be actually something like ~/.notes/book-notes/baudrillard.md) So I've separated my book notes by author, then inside each of those documents is all my notes on that author in sections labeled by book. If this gets to be too much I might have to separate one level deeper and make a separate directory for each author then documents per individual respective book, but I think for now this should be ok. I literally just set this up 5 minutes ago so I do not know how efficacious it will turn out to be. In each respective note file, say "book-notes/baudrillard.md", the first line is the path back to the original "notes" file. If this gets more complicated then I can mess around with this stuff as we go.

All of this is enabled by the "gf" keybind in vim. Pressing "gf" when your cursor is over a valid file path will open the file at that path. This makes it very easy to navigate between files. In future I could see myself using this more within notes, say in a note on one book i may reference another relevant book and provide the file path for its respective notes.

Another useful feature of vim here is the :vim command. :vim is short for :vimgrep. I could also just use :grep to use external grep. This will let me search for keywords within files. I'm sure this is very obvious to anyone familiar with grep but just to go over it. Say I wanted to find some string and I forgot which file it's in, I could use a command like :vim /somestring/ ~/.notes/**. This would then open a file which contains "somestring" within recursively any file in ~/.notes/, with the cursor at that string. I could then run the :copen command to open the quickfix list of all the instances of that string in all the files, and easily navigate between them. Vim is a very good computer program.

Anyway that's it, it's about as basic as it gets but hopefully it gets the job done. The only issue is I have a bunch of computers and I'd like to be able to edit all of my notes from any computer over the network. I'll have to think about how best to set this up at some point. Maybe one day I set up a home server of some kind...