settle

settle is a CLI tool that helps you manage your digital Zettelkasten.

First, a little bit of history. I learned about the Zettelkasten method back in the summer of 2021. I looked at a few programs for it, and I settled on Obsidian MD. But I didn't like the experience: I was an avid Vim user, and the vim compatibility mode wasn't usable in the least. I had alreay written quite a few notes, and I didn't want to change them to make the links and tags work with other programs.

So there I was, in early August, with the idea of writing a CLI program that I could easily use with Vim (or any editor, for that matter), and at the same time use Obsidian-style links and tags. In the meantime, I've read Sonke Ahrens's How to take smart notes and have been adding features to settle. Almost a year later, and I can confidently say that it's pretty good.

There are several core principles in the design:

Getting started

Requirements

Installation

There's a crate on crates.io, so you can simply run:

cargo install settle

Usage

For the commands, options, configuration, and setting up autocompletion, read the manual

If you prefer, there's also a groff document inside the doc/ dirctory which can be read with man. On the command line, of course.

The note-taking system

settle just stores and manages a database of Zettel metadata. That's it.

There are two important things to remember when writing:

Besides, how do you actually start writing, if there are no explicit commands to invoke an editor? It'd have been hard trying to write code so that it works smoothly with vim or emacs and their many quirks. Instead, editor-side code is written to act as a settle plugin.

I wrote settle.vim since I'm a (neo)vim user myself. If you write a wrapper around settle, contact me at xylous.e@gmail.com and I'll make a list or something.

Roadmap

Meta

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

MIT