{"slug": "how-i-set-up-vimwiki-for-notetaking", "title": "How I set up VimWiki for notetaking", "summary": "The article explains how to set up and use VimWiki, a notetaking extension for Vim that allows users to create and manage personal wikis directly in the terminal. The author details the installation process, including adding necessary lines to the `.vimrc` file and cloning the VimWiki repository, and highlights the flexibility of using plain text files for notes, which enables easy syncing across devices via Nextcloud. Key features include quick navigation with keyboard shortcuts, support for Markdown syntax, and the ability to create linked pages and diary entries.", "body_md": "How I set up VimWiki for notetaking\nI'm a monster who writes her notes in the terminal. Here's how.\nVimWiki is a really great notetaking extension for Vim. Whether you just want a quick scratchpad or a full-fat personal wiki, it's very flexible and might be of use to you.\nEditing notes in the terminal, as opposed to a dedicated application like Obsidian, allows me lightning fast access from anywhere in my system, even when I'm connected remotely. Like Obsidian, the notes are simply text files, making file sync easier. Unlike Obsidian, there's no image layer- I'm just looking at text while jotting down my notes. (My brain likes this, yours might not.)\nI write up all of my scripts and research in VimWiki, and I also keep my shopping lists, as well as a basic task management system (checkboxes in a text file). It's slick in that it's simple, and that's what I want. Plus, since it's all just text files, I can sync them with my phone via Nextcloud and their Notes app.\nHere's how I set it up on my devices.\nWhat you need before you start\nI've used VimWiki on both Vim and Neovim, and haven't had any issues on either system. That said, I tend to prefer Vim in general because it's what I started with and it's more likely to be easily available (or already installed).\nThen you'll need to add three lines to .vimrc\n:\nset nocompatible\nfiletype plugin on\nsyntax on\nThese do the following:\nset nocompatible\nallows enhancements to Vim that aren't compatible with the oldervi\nimplementation.filetype plugin on\nenables loading plugins for specific filetypes.syntax on\nenables syntax highlighting.\nThese may or may not already be in your .vimrc\nso it's best to have a look and make sure there's no conflicts.\nInstall VimWiki\nOnce .vimrc\nis set up you can install VimWiki.\nI'm on Linux (Debian and Ubuntu-derived systems mostly), so I make sure git\nis installed and then I use the native Vim packages implementation:\ngit clone https://github.com/vimwiki/vimwiki.git ~/.vim/pack/plugins/start/vimwiki\nVim packages has been my preferred way to customize Vim for a while now, because I prefer to control plugins via Git instead of relying on yet another package manager.\nThat said, in the past I used Vim-Plug and Pathogen, and both worked totally fine with VimWiki.\nAfter it's installed, you'll probably want to run :Helptags\nto generate docs, or, as VimWiki recommends:\nvim -c 'helptags ~/.vim/pack/plugins/start/vimwiki/doc' -c quit\nWith that, you should have a VimWiki ready to initialize!\nUsing VimWiki\nAnywhere in Vim, you can run <leader>ww\nto launch VimWiki. <leader>\nis a special key in Vim and by default, it's mapped to backslash (this key: \\\n). Lots of folks change that key mapping though, and VimWiki respects that.\nThe first time you launch VimWiki, it'll offer to create a new index.wiki\nfile in your Home directory under a vimwiki\nsubdirectory.\nIf you don't care about using Markdown, this is a fine place to get started. I typically change the syntax to Markdown though, and I'll cover that a bit down the page.\nThe default syntax uses *asterisks*\nto create bold text, and _underscores_\nto create italic text. Headers are designated with = Equal Sign Wings =\nwhich isn't my favorite but works.\nLinks are created in traditional Markdown format: square brackets around a word to create a page with that name, like [[this right here]]\n, which would create a new file called \"this right here.wiki\n\". If you want to specify a differing path than the description (including subdirectories), that follows the traditional Markdown method of [[path/to/file|friendly name]]\n.\nTo navigate to a link, drop to normal mode and hit <enter>\non a link: VimWiki will create the file for you if it doesn't already exist!\n<backspace>\nis like a \"back button\" for your wiki, and there's a ton of other navigational commands, which are well documented on their website as well as the :h vimwiki\npage in Vim.\n<leader>w<leader>w\nis one of my favorites, because it'll automatically generate a diary page with today's date as the title. This is super helpful for keeping a work log without taking your hands off home row.\nAnd there's a rudimentary checkbox system with - [ ] task to check\n, which allows for nesting and can be toggled from normal mode with <ctrl><space>\n.\nConfigure VimWiki with Markdown (and update the Wiki path)\nI typically sync VimWiki with Nextcloud Notes, mainly because Nextcloud Notes has a reasonable Android application which I've appreciated for years, and it offers dead simple file sync between all of my devices.\nOf course, Nextcloud Notes tends to prefer Markdown, and frankly, so do I. I end up using Markdown often enough that it's become second nature to me. Luckily it's easy to change!\nNote: switching away from the default syntax breaks one cool feature, the built-in HTML converter. I use SSGs, so I don't end up using this feature personally, but if you want to turn VimWiki into a website with one command, you'll have to learn the default syntax.\nTo update your syntax to Markdown, add this to .vimrc\n:\nlet g:vimwiki_list = [{ 'syntax': 'markdown',\n\\ 'ext': 'md'}]\nThis updates the vimwiki_list\ndictionary in two places:\n- The\nsyntax\nkey's value has been changed fromdefault\ntomarkdown\n, and - The\next\nkey's value has been changed fromwiki\ntomd\n.\nThen, because Nextcloud Notes typically saves notes inside ~/Nextcloud/Notes/\n, and not ~/vimwiki/\n, you may want to make an additional change to sync your notes between devices.\nYou could just tell Nextcloud Desktop to do a bunch of nonsense to sync the default Notes directory with ~/vimwiki/\n, but it's probably much easier to just add this to the same block we tweaked already in .vimrc\n:\nlet g:vimwiki_list = [{ 'syntax': 'markdown',\n\\ 'ext': 'md',\n\\ 'path': '~/Nextcloud/Notes/'}]\nThis updates the vimwiki_list\ndictionary one more time:\n- The\npath\nkey's value has been from~/vimwiki/\nto~/Nextcloud/Notes\n.\nConclusion: I like VimWiki and you might too\nI really appreciate the simplicity of VimWiki.\nI've tried Joplin and Obsidian and both felt way too... involved? for a notetaking application.\nI don't want a complicated tagging system or mind mapping or images in my notetaking application. What drew me to Vim in the first place was keeping things really simple, so that my mind can safely wander and not get distracted by shiny colors or big graphics.\nVimWiki is the kind of stripped down notetaking solution I'd expect from Vim fans. It's not trying to be org mode: it's just... my notes. Nothing to sell me, nothing to distract me, beyond my own imagination.", "url": "https://wpnews.pro/news/how-i-set-up-vimwiki-for-notetaking", "canonical_source": "https://veronicaexplains.net/vimwiki-101/", "published_at": "2025-03-26 13:27:28+00:00", "updated_at": "2026-05-23 20:10:36.307628+00:00", "lang": "en", "topics": ["developer-tools", "open-source", "products"], "entities": ["VimWiki", "Vim", "Neovim", "Obsidian", "Nextcloud", "Notes"], "alternates": {"html": "https://wpnews.pro/news/how-i-set-up-vimwiki-for-notetaking", "markdown": "https://wpnews.pro/news/how-i-set-up-vimwiki-for-notetaking.md", "text": "https://wpnews.pro/news/how-i-set-up-vimwiki-for-notetaking.txt", "jsonld": "https://wpnews.pro/news/how-i-set-up-vimwiki-for-notetaking.jsonld"}}