vimwiki cheatsheet

wednesday, 27 august 2014

the vimwiki wiki plugin is reason enough to use vim . It is a personal light weight wiki mated to one of the most powerful text editors available. No mousing required. Plain text data files. Powerful markdown syntax with integrated html generator. Manage multiple wiki databases.

This entire site is written in vimwiki. What is not to like! Features galore are available from todo lists to html templates and generation (in fact, this site was originally prototyped using only vimwiki to generate static web pages before migrating to a dynamic web application to serve up the content).

The basic vimwiki command set..

wiki management

[number] <leader> ww open wiki index file
[number] <leader> wt open wiki index file in new tab
<leader> ws list and select available wikis
<leader> wd delete wiki page
<leader> wr rename wiki page

number is relative wiki order as defined in .vimrc, default 1.

diary management

[number] <leader> wi open diary index file for wiki
<leader> w <leader> i update current diary index
[number] <leader> w <leader> w open today’s diary file for wiki
[number] <leader> w <leader> t open today’s diary file for wiki in new tab
<C-Up> open previous day’s diary
<C-Down> open next day’s diary

number is relative wiki order as defined in .vimrc, default 1.

<CR> follow/create wiki link
<C-S-CR> follow/create wiki link in new tab
<backspace> go back to previous wiki page
<Tab> go to next link on current page
<S-Tab> go to previous link on current page

editing shortcuts

<C-Space> toggle list item on/off
= add header level
- remove header level
+ create/decorate links
glm increase indent of list item
gll decrease indent of list item
gl* or gl8 switch or insert “*” symbol
gl# or gl3 switch or insert “#” symbol
gl- switch or insert “-” symbol
gl1 switch or insert “1.” symbol

table shortcuts

<A-Left> move column left
<A-right> move column right
<CR> (insert mode) go down/create cell
<Tab> (insert mode) go next/create cell
gqq or gww reformat table

text objects

ah section between 2 headings including empty trailing lines
ih section between 2 headings excluding empty trailing lines
a\ table cell
i\ inner table cell
ac table column
ic inner table column

See grokking vim for editing operations on text objects.

»»  sup mail

comment ?