zettelkasten.nvim
is a Vim philosophy oriented Zettelkasten note
taking plugin.
Using this plugin, you can:
Create new notes with unique IDs (:help :ZkNew
)
List the places where a tag is used with :tselect tag_name
or use Vim's own tag shortcuts for
navigation.
Use i_CTRL-X_CTRL-]
to get a list of all the tags in your notes.
Get a completion list of note references.
Use K
command to display context for a note ID.
Use gf
to navigate to a reference. As long as your :help path
option is set correctly, this
will work.
There's no separate file type for zettelkasten. Markdown file type is used to extend the functionality to make it easier to take notes.
For the most up to date information, please do :help zettelkasten.txt
. I won't be updating README
file for every single feature or update. You can also check out the
wiki for tips and tricks on how to use
zettelkasten.nvim.
Click the image for a demo.
Install using your favorite plugin manager.
See :help zettelkasten.txt
for more information.
Potential ideas to implement in the future:
I started the project out of a bout of excitement for having discovered the Zettelkasten note taking system. I've been looking for better ways to take notes and this system seems to fulfill my needs. Since I love Vim, and Zettelkasten is a text based system (Which is what I love the most about it), I decided to create a plugin immediately.
My goal is not to turn this into a huge thing with custom pickers, and file types, and a gazillion mapping and commands. My goal is to make use of the existing Vim options/mappings/features to extend markdown file type so it's more convenient to navigate, discover, and write.
As you can see from its initial state, the only thing you need to really know about this plugin is
the :ZkNew
command. Everything else can be discovered as you are flexing your usual Vim muscles
(e. gf
, i_CTRL-X_CTRL-]
, CTRL-]
).
In true Vim philosophy, I also want to make it easier for people to extend this plugin to their own
needs. So, all the Lua API will be nicely designed so you can interface this plugin with others
(e.g Telescope.nvim
) or create your own workflow easily.
Please also see :help zettelkasten.nvim-101
and :help zettelkasten-philosophy
.