Zettelkasten with plain Vim

The zettelkasten (German: “slip box”) is a knowledge management and note-taking method used in research and study.

I saw posts about this method pop-up on Hackernews & Lobsters lately. A zettelkasten is like a personal-Wiki for your research, its salient idea is linking cards or files together. I maintain a spark file since 2012, the concept is similar to a zettelkasten: it’s a collection of notes; each note is about a single idea and is revisited and re-edited regularly. Mine is a Git repository with about 160 text files containing 400,000 characters as of today. Since learning about the zettelkasten method I link between files more and it helps revisit old notes and material more effectively.

I use Vim to navigate it with the gf command, it lets you edit the file whose name is under or after the cursor. With this command I can easily link files together, it makes the organization of my zettelkasten simple, and it works out of the box with Vim.

For example if I want to link network/http.txt to network/ip.txt: I add a line to the file network/http.txt with the filename I want to link to: net/ip.txt. When I position my cursor over this line and enter gf Vim will open network/ip.txt.

For tagging files together I use outline files. When I want to link a set of files together, I create a new file and add all the filenames in it, like an index file.

Since I got into the habit of linking files together I feel more inspired to write and produce. I have revisited old ideas, and I feel the creative juices flowing again.