Immediate string search is an important feature of note systems, at least scalable notes. Slow search is one of the main issues of the default installation of both vimwiki and orgmode.


In vimwiki, tags are an easy way to speed up the default single threaded vim search. Calling the vim command VimwikiRebuildTags will regenerate the tags and make them available.

In zettlr the built in search is quick enough for both free text and tags.

To make both play well together, some changes to the markdown syntax of vimwiki are necessary. I discussed some of them in the previous post. Here is the list of the tag changes needed:

 \ 'tag_search': '\(^\|\s\)#\zs\([A-Za-z0-9_]\+\)\ze\(\s\|$\)',
 \ 'tag_match': '\(^\|\s\):\([^:''[:space:]]\+:\)*__Tag__:\([^:[:space:]]\+:\)*\(\s\|$\)',

One of the many plugins that offer quick fuzzy search is vim-fzf, based on fzf. It allows immediate search results within my small note collection (under two megabytes)

I tried to make it work with vim-zettel but unfortunately it never did. vim-zettel offers search and link via fzf on top of regular search.

Instead I use notational-fzf-vim. It is based notational-velocity: a small mac os app for note taking.

notational velocity focus is on making taking notes frictionless. It offers a single prompt that either searches for existing notes or creates a new one.

In the context of zettelkasten notational velocity doesn’t deal with linking notes nor tags. The outcome of using notional velocity alone is a form wiki rather than a collection of notes.

Despite the discrepancy of methodologies, notational-fzf-vim works perfectly fine as a search tool for the notes I have.