This is a Vim and neovim 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 read the full documentation.
Note: wiki.vim
is not a filetype plugin. It is designed to be used with
filetype plugins, e.g. dedicated Markdown plugins. Users are advised to
read :help wiki-intro-plugins
for a list of plugins that work well with
wiki.vim
.
Note: wiki.vim
requires Vim 9.1 or Neovim 0.9.5.
If you use vim-plug, then add the
following line to your vimrc
file:
Plug 'lervag/wiki.vim'
Or use some other plugin manager:
This outlines the basic steps to get started:
-
Create a wiki directory where the wiki files should be stored, for instance
~/wiki
. -
Add the following to your
vimrc
file:let g:wiki_root = '~/wiki'
-
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.
- Wiki functionality
- Global
- Commands (and mappings) to access a pre-specified wiki (
g:wiki_root
)WikiIndex
to open the indexWikiJournal
to open the journalWikiPages
to select from list of all pagesWikiTags
to select from list of tags
- Commands (and mappings) to access a pre-specified wiki (
- Local commands and mappings for
- Navigation (follow links, go back, etc)
- Renaming pages (will also update links in other pages)
- Navigate through a table of contents (
WikiToc
) - Creating a table of contents (
WikiTocGenerate
) - Transforming links (from text to link or between link types)
- Viewing wiki link graphs
- Displaying incoming links (see
WikiLinkIncomingToggle
)
- Completion of wiki links and link anchors
- Text objects
iu au
Link URLit at
Link text
- New page templates
- Global
- Support for journal entries
- Navigating the journal back and forth with
<c-p>
and<c-n>
- Support for parsing journal entries in order to make weekly and monthly summaries. The parsed result needs manual editing for good results.
- Navigating the journal back and forth with
- Utility functionality
:WikiExport
command for exporting to e.g.pdf
withpandoc
- Third-party support
- ncm2: SubscopeDetector for nested completion
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.
Feel free to consider any of the many available alternatives. There are likely many more, but these are the ones I'm aware of: