The quantity of things I need to keep track of or be responsible for has
exploded in the past few years, so much so that I have had to really focus on
organizing my “personal knowledgebase.” When I originally tried to spend some
time improving my information management system, I found numerous different
services offering to improve my productivity and to help me keep track of
everything. Invariably many of these tools were web apps. In order to quickly and
productively work with information, a <textarea/>
in a web page is the choice
of just about last resort. I recently revisited
Vimwiki and have been quite satisfied both by
my productivity boost and the benefits that come with having raw
text to work with. The best benefit: easy synchronization of notes with Nextcloud.
By itself, Nextcloud is a great piece of software that I cannot recommend
highly enough. The Nextcloud Notes
application is a wonderful addon that has made a lot of good decisions. Notes
are text files (.txt
or .md
) which are stored in the Notes/
folder for
the user, and the mobile and web versions of notes are just working with
text. No special syntaxes to learn, no awkward file formats, just notes.
With my Nextcloud instance and the desktop
client auto-synchronizing folders in my
~/Nextcloud
directory, the little snippet of .vimrc
that is required to
have Vimwiki sync to Nextcloud is below:
" vimwiki set up
let g:vimwiki_list = [{'path': '~/Nextcloud/Notes/',
\ 'syntax': 'markdown', 'auto_toc' : 1,
\ 'ext': '.md'}]
Rather than using the .vimwiki
extension, this is instructing to write my
Vimwiki files out as Markdown. Once files are written or updated to
~/Nextcloud/Notes
, the desktop client will sync those automatically. When I
edited notes on my phone, those are also synchronized back to my workstation
where I can continue editing them in Vimwiki.
The Nextcloud Notes web and mobile application doesn’t really understand the inter-page links used by Vimwiki, but that has not been a problem for me thus far. My “mobile” or non-Vimwiki workflow is typically centered around a single note, whereas my local Vimwiki-based workflow has me rapidly navigating through different documents linked together from within Vim.
If you’re looking to get into Vimwiki, I found this cheatsheet helpful. After a couple months of steady usage,my personal knowledgebase has been growing rapidly to include work related notes, runbooks, project plans, shopping lists, and all manner of information. This approach might not be for everybody, but if like me you find yourself using vi keybindings in every app that provides it, Vimwiki might be for you! :)