Skip to main content

Vimwiki Command-Line Interface

vimwiki-cli is a command-line interface to Vimwiki, a plugin for the Vim text editor. It provides a front-end for interactive editor commands and can be used to automate repetitive tasks such as rebuilding tag metadata and generating links, all from the command line.

Installation

vimwiki-cli is available on PyPI and can be installed locally using the Python Package Installer:

$ python -m pip install --user vimwiki-cli

Once installed, issue vimwiki --help to see usage.

Configuration

For most installations no configuration is needed, however several environment variables are available to modify default behavior without the need to pass global options on the command line:

Environment Variable Global Option Description
VIMWIKI_EDITOR --editor Editor to launch, defaults to $EDITOR or vim.
VIMWIKI_COUNT --count Index of wiki to open.
VIMWIKI_SELECT --select Select wiki from interactive list.
VIMWIKI_OPEN_MATCHES --open-matches Open search results by default.
VIMWIKI_OPEN_TABS --open-tabs Open pages in a new tab by default.

Advanced

Supported Commands

Each CLI command corresponds to one or more Ex commands executed in the editor. The following table details the mapping between these commands:

CLI Command Ex Commands
vimwiki :VimwikiIndex
vimwiki all-html :VimwikiIndex | VimwikiAll2HTML
vimwiki check-links :VimwikiIndex | VimwikiCheckLinks
vimwiki diary :VimwikiDiaryIndex
vimwiki diary generate-links :VimwikiDiaryIndex | VimwikiDiaryGenerateLinks
vimwiki diary today :VimwikiMakeDiaryNote
vimwiki diary tomorrow :VimwikiMakeTomorrowDiaryNote
vimwiki diary yesterday :VimwikiMakeYesterdayDiaryNote
vimwiki generate-links PAGE PATTERN :VimwikiIndex | VimwikiGoto PAGE | VimwikiGenerateLinks PATTERN
vimwiki goto PAGE :VimwikiIndex | VimwikiGoto PAGE
vimwiki help :help vimwiki.txt | only
vimwiki search PATTERN :VimwikiIndex | VimwikiSearch PATTERN
vimwiki tags generate-links PAGE TAGS :VimwikiIndex | VimwikiGoto PAGE | VimwikiGenerateTagLinks TAGS
vimwiki tags rebuild :VimwikiIndex | VimwikiRebuildTags
vimwiki tags search PATTERN :VimwikiIndex | VimwikiSearchTags PATTERN

Shell Completion

Shell completion is available for bash, fish, and zsh shells. To generate an activation script, issue:

$ env _VIMWIKI_COMPLETE=source_$(basename $SHELL) vimwiki >/path/to/vimwiki-complete.sh

Once generated, the activation script may be sourced directly or from the shell startup file to provide completion:

$ . /path/to/vimwiki-complete.sh

Git Integration

For wikis managed with Git, a pre-commit hook script is available that executes non-interactive commands to rebuild tag metadata and generate links before commit.

The pre-commit hook relies on the following configuration options:

Configuration Option Description
vimwiki.options Extra options to pass to the vimwiki command
vimwiki.linkspage Page which contains generated links
vimwiki.taglinkspage Page which contains generated tag links
vimwiki.generatelinks Generate links before commit (bool)
vimwiki.generatediarylinks Generate diary links before commit (bool)
vimwiki.generatetaglinks Generate tag links before commit (bool)
vimwiki.rebuildtags Rebuild tag metadata before commit (bool)
vimwiki.allhtml Convert wiki to HTML before commit (bool)

For example, to configure the hook to rebuild tag metadata and generate tag links in the Tags page before commit, issue:

$ git config vimwiki.taglinkspage Tags
$ git config vimwiki.generatetaglinks true
$ git config vimwiki.rebuildtags true

To enable the hook, copy or link pre-commit.sh to .git/hooks/pre-commit in the wiki directory. Alternatively, if pre-commit is installed, add a pre-commit configuration file, .pre-commit-config.yaml and run pre-commit autoupdate to enable the latest version of the hook.

# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
repos:
  - repo: https://github.com/sstallion/vimwiki-cli
    rev: v1.1.0
    hooks:
      - id: vimwiki-cli

Contributing

Pull requests are welcome! See CONTRIBUTING.md for more details.

License

Source code in this repository is licensed under a Simplified BSD License. See LICENSE for more details.

Metadata

Release files for vimwiki-cli 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vimwiki-cli 1.2.0
File Size Uploaded
vimwiki-cli-1.2.0.tar.gz 15.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vimwiki-cli 1.2.0
File Interpreter ABI Platform
vimwiki_cli-1.2.0-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 30.7 kB

Release files / vimwiki-cli-1.2.0.tar.gz

Download URL vimwiki-cli-1.2.0.tar.gz
Size 15.8 kB
Tags Source
SHA-256 checksum
How to use checksums
9243b10f5cc85dac08d471f3b6ee9e4f48f513d2e356d2452545a50394ababad
BLAKE2b-256 checksum
How to use checksums
080b882131aa3d4512bf74a28424bc1ee7f9bdbe2d88803061b3d811f249339f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.8

Release files / vimwiki_cli-1.2.0-py2.py3-none-any.whl

Download URL vimwiki_cli-1.2.0-py2.py3-none-any.whl
Size 14.9 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
4ca178419897bf5af88d3a88debaf43b4f3f5f27f22d3c0278c18668977784a0
BLAKE2b-256 checksum
How to use checksums
14a62e394eb999f476356d34db11803d116d3656d959eb4c9015dde3aeaa0787
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.8

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page