Scrivener & Zettelkasten

I have begun the transfer of my physical Zettelkasten to Scrivener; I am pretty confident that Scrivener has everything that one might need to implement a robust digital Zettelkasten.

There was a discussion on the Zettelkasten topic some years ago, while version 2 was the active version, or so it seems.

I would love to hear from others who are using Scrivener to implement a Zettelkasten, or something similar, in the current version 3.3. What has worked for you? What has not worked for you?

I have not yet started to work with #hashtags or keywords; so any tips, suggestions, warnings and such will be nice to hear.

I will be posting some of my own implementation ideas when I come up with something worth sharing.

(ps. I could not find the ‘usage-tips’ tag for making this post; sorry for the mis-tagging.)

There have been some more recent discussions as well. Here are a few that may interest you:

  • The merits of different linking methods for ZK style titles. This started out with a fairly specific question, but the discussion went into some various different areas of usage.
  • General usage for note-taking. Here the discussion was not about ZK specifically, but there is a huge area of overlap with general note-taking discussions and that, since most of ZK is about what you do in the note itself rather than around it. It’s the latter part that Scrivener is going to be exceptional, whereas in my experience it’s the other way around for most other tools of this nature. The organisational systems are quite simple and depend almost entirely upon content cues.

I think that’s probably a good starting point, since both of those branch out with links to many other discussions (some overlapping).

As you will read, I am very much in favour of putting the ZK ID into the binder title. If that is all you have to look up a note by (which is how I do things anyway, for brevity) then there are more tools for title look-ups in general, like link completion, or Quick Search which favours matches the start with the text you typed, or even how you can right-click on any text in the editor and it will look up titles that contain the text you clicked on. It will help you build hard hyperlinks better, and also make it so you maybe don’t need quite so many hard links (similar to how some tools have an “Unlinked references” listing).

This is something I did mess with a bit, but as I never really got on board with the proliferation of topical keywords, preferring instead to have a more procedural and compact hierarchical designation, so this feature never helped me out much. But if you’re the sort that gets benefit from putting #topic_a, #topic_b below a title line, then yeah Keywords will work for that. Scrivener’s implementation may leave a little be desired, I’ll warn. It depends on where you come from and what you’ve enjoyed using in other tools, but it is decidedly a bit old-school and in much need for modernisation. The world has moved on with this idea, since its inception (it came from an era when people thought of keywords as a type of database field you query against, not as agile tags that are a construct of both preparation and a reaction to usage as content).

I have begun the transfer of my physical Zettelkasten to Scrivener…

To jump back to this one: if you have a scanner or some other efficient way of making the original card digital, Scrivener’s split view is extremely efficient for getting bulk notes over and transcribed. Some commands and tips that can help you out there:

  • The Navigate ▸ Go To ▸ Next|Prev Document shortcuts. With this you can flip up and down between entries in a folder.
    • However, what I like to do is use that shortcut to very quickly skim through the whole “stack” in the folder. What that does is populate the editor history with each card, one after the other. Hold that thought…
  • In the split you are using to type them up, Ctrl+N / ⌘N makes a new card and keeps the cursor there so you can get straight to typing up the next card.
  • Ctrl+Tab gets you back and forth between splits easily. Close the binder for even more efficiency, as this shortcut by default rotates between binder, editor 1 and editor 2. With the binder closed you get simple alternation.
    • Now back to where I was with the card split having all of the cards in history. Instead of jumping back and forth between splits and using the Next|Prev shortcut, check out Navigate ▸ Editor ▸ Forward|Backward in History. Putting two and two together then, you can be typing up one card, get to the end of it, hit the shortcut to make a new chunk of text to type into, then the shortcut to flip backward in history in the card split, without moving your cursor around, and thus keep typing away.
  • Lastly, in the typing split you may want to quickly get back to a card you already transcribed, if you spot a connection that should be made. The normal history shortcuts can help there, but also remember you can flip to Corkboard view, arrow up to where you want to go, and then use Spacebar to dive back in (if that opens a separate window, you can change that in the Behaviours: Navigation preference pane (on Windows, that’s just how it works, no options, and very weirdly, it does not work from the Outliner). So that can be better for “longer distance” jumps, but of course once you do that a quick Ctrl+[ / ⌘[ gets you right back to the card you were transcribing before going on a tangent.

It may seem like a bit of fluster, but if you’re like me and have hundreds if not thousands upon thousands of bits of paper to transcribe, then every little reduction in the checklist of shortcuts or mouse clicks involved matters! Eventually these shortcuts become second nature and you’ll be flying through cards, thinking of little but the content they contain.

1 Like

The inventor of the Zettelkasten (Luhmann) wrote about 80,000 notes (Zettel) with cross-references between 1952 and 1996. Let us assume

  • Note A was written in 1963.
  • Note X was written in 1995.

On note X there is a reference to note A.

How did Luhmann remember that there was a note A when he wrote note X 32 years later?

He likely didn’t. I suspect the old note came up by browsing through other “linked” notes regarding a given topic and then he added the reference.

That’s right. Many references are written with a different pen than the note itself. So they were added later. Where there are no references, nobody knows whether this is correct or whether Luhmann only forgot them.

I think the concept of forgetting something you did, and later stumbling across it and documenting that (the “A” on “X”) is part of an overall system that strives to combat that problem, both at the inception of new data and in the discovery of old data through link networks or other binding mechanisms. It’s not going to be perfect, and it will ever be evolving, but that it is capable of “self-healing” and that it optimises itself over time is one of its merits.

Another thing worth considering is that most of the things I wrote even just 25 years ago are garbage. I’m fine with them being in the dark, and so I’m glad I didn’t spend an inordinate amount of time cataloguing them. Does that mean I now and then fail to find a gem? Surely, but we do also have much more powerful tools these day to fall back on, like sophisticated and fast searches. That is where a tool like Scrivener can help, in that it has a lot of architecture established for finding things. That architecture is only a force multiplier if your data has some kind of system embedded in it that aids in finding things more directly, in a human curated sense; again, “A” on “X”.

Or I guess another way of putting it is that adopting these systems designed for finding things you wrote about without sophisticated technology, into a context where that exists, doesn’t hurt anything at all and only makes both systems more effective.

That has been my experience anyway.

Speaking for my own methods, it was designed in the age of this sophistication, and so is very much optimised toward making search even more powerful. So when I speak of falling back to search, it’s not like I’m going from “missing links” to absolutely nothing and using inefficient raw word searches through millions of words of content on everything from Scrivener to recipes for curry, stretching back decades. There are other fail-safes in the system that make searching more useful.

For example: how I dug up the links for this post. I know that using Scrivener for note-taking is a fairly common topic that pops up, and I know it’s something I’ve written a lot about, so even if I don’t have a specific post ID in hand to start following a network of links, I don’t need one. I can run a search that pulls up a list of entries in the archive that exist solely to collate notable data about a topic, beacons if you will. I searched for that, moments later located the right beacon. Now I’ve got an ID—and not only that an incredibly useful ID. By searching for that beacon’s ID, I generated a big list of chronologically sorted writings (never mind the writings the beacon entry itself enumerated), and seconds later had these the two hyperlinks on hand to write the post around (which was of course subsequently archived, and linked to the beacon ID so that it is now part of the super cluster that is using Scrivener for note-taking).


@AmberV Thank you kindly for all this information; I knew that Scrivener would be very well suited for implementing a Zettelkasten, I had no idea how much power there is, not only to address all the needs of a ZK system, but to create and customise solutions to detailed needs. The functionality pointed to in those Posts requires some practice, and I can’t wait to become proficient in it and be able to use it creatively. Will have some questions along the way… in the meantime a huge Thank You!!

1 Like