/wiki.vim

A wiki plugin for Vim

Primary LanguageVim ScriptMIT LicenseMIT

Introduction

This is a Vim plugin for writing and maintaining a personal wiki. The plugin was initially based on vimwiki, but it is written mostly from scratch and is based on a more "do one thing and do it well" philosophy.

This README file contains basic information on how to get started, as well as a list of available features. For more details, please confer the full documentation.

Note: wiki.vim is not a filetype plugin. It is designed so that it may be used along with filetype plugins, e.g. for dedicated Markdown plugins. One may also use wiki-ft.vim for simple syntax highlighting and folding of .wiki files, if desired.

Note: Some features require a recent version of Vim (>= 8.1) or NeoVim (>= 0.5).

Table of contents

Quick Start

Installation

If you use vim-plug, then add the following line to your vimrc file:

Plug 'lervag/wiki.vim'

Or use some other plugin manager:

Usage

This outlines the basic steps to get started:

  1. Create a wiki directory where the wiki files should be stored, for instance ~/wiki.

  2. Add the following to your vimrc file:

    let g:wiki_root = '~/wiki'
  3. Now you can open the index file (by default index.wiki) with <leader>ww and start to add your notes as desired.

Please also read the Guide section in the documentation.

Features

  • Wiki functionality
    • Global mappings for accessing a specified wiki
    • Local mappings for
      • Navigation (follow links, go back, etc)
      • Renaming pages (will also update links in other pages)
      • Creating a table of contents
      • Toggling links
      • Viewing wiki link graphs
    • Completion of wiki links and link anchors
    • Text objects
      • iu au Link url
      • it at Link text
  • Support for journal entries
    • Navigating the journal back and forth with <c-j> and <c-k>
    • Support for parsing journal entries in order to make weekly and monthly summaries. The parsed result needs manual editing for good results.
  • Utility functionality
    • :WikiExport command for exporting to e.g. pdf with pandoc
  • Third-party support
    • CtrlP: CtrlPWiki command
    • unite
    • denite
    • ncm2: SubscopeDetector for nested completion
    • fzf: WikiFzfPages, WikiFzfTags, and WikiFzfToc commands

Acknowledgements

Without vimwiki, this plugin would never have existed. So my thanks go to the smart people that developed and maintains vimwiki, both for the inspiration and for the ideas.