Keeping notes with vimwiki

I’ve long kept notes and ideas written down in a variety of text files across my computer. While this ‘worked’ I always found it a bit lacking, but was not willing to commit to a cloud based notes application as I prefer the simplicity and portability of plain text files. I recently read an article on How to take smart notes and in the HackerNews comments discovered Vimwiki. From its website:

Vimwiki is a personal wiki for Vim – interlinked, plain text files written in a markup language

Combining vim, plain text files, and a simple ascii syntax, vimwiki checked many of my boxes. For the past two weeks I’ve been using vimwiki daily to take notes and consolidate the various in-progress idea scratch pads I have. I have been really enjoying it and wanted to share my experience.

Why Take Notes?

I take notes for a few different reasons. The primary reason is to have a place to capture incomplete thoughts and ideas that might otherwise disappear. I like to try and capture ‘shower thoughts’ that would otherwise disappear into the void. The second reason is that by attempting to write ideas down it forces me to add a small amount of structure. Once captured this structure can be reworked and revised until the idea is in a shape where it can be used later. The last reason I write notes is to help me remember. I find I have a much higher chance of remembering things I’ve written down versus those I have not. If I do forget after writing it down, I can at least search the answer back up again, because text files are great like that.

Syntax and keybindings

The default vimwiki syntax is a hybrid of markdown and mediawiki. While you can choose markdown, or mediawiki I stuck with the default. The inline formatting draws from markdown and using = for headings feels natural to me. Other syntax markup like using {{{ and }}} for code fencing and `, * and _ for inline code, strong and italic formatting was also very familiar to me.

The default keybindings take a bit of learning not because they are hard, but because there are quite a few of them. The most important bindings are <Leader>ww which opens the wiki index page. From there you can use shift-Enter to follow links. The <Leader>w<Leader>w binding takes you to the ‘diary’ page for today. I use the diary feature for taking meeting notes, writing ideas down so I don’t forget, and keeping track of interesting links.

Syncing Notes

Vimwiki made it easy to consolidate all my notes in one place. Having all my notes in one place also made it very easy to sync my notes across all my machines.

let g:vimwiki_list = [{ 'path': '~/Dropbox/vimwiki/' }]

By configuring vimwiki to store its data in my Dropbox directories notes are synced automaticaly. I glad I came across vimwiki and hope that you find it useful too.


Have you found any good ways of capturing things other than text? Or any quick ways to capture things like of posts etc?

Adam on 3/31/20

Adam: Not yet. I try to keep as much as I can in text because it is very portable.

mark story on 4/23/20

I love vimwiki – thought it was kind of annoying to start each dairy entry with a blank file though so stumbled across this:, which just puts a bit of a template structure into each new diary entry :)

Max on 4/30/20

Have your say: