Major clean up and improvements to vimwiki compatibility and documentation.
CI / cargo fmt --check (push) Successful in 33s
CI / cargo clippy (push) Successful in 23s
CI / cargo test (push) Successful in 33s
CI / editor keymaps (push) Successful in 1m25s

Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
2026-05-30 18:35:40 +00:00
parent 95645a2b91
commit 8ab6015405
71 changed files with 2496 additions and 1914 deletions
+70 -65
View File
@@ -228,63 +228,68 @@ Vim-specific globals ~
Override the auto-discovered server binary path. If set and the
file is readable, it overrides the `{plugin}/bin/nuwiki-ls` default.
==============================================================================
==============================================================================
5. COMMANDS *nuwiki-commands*
Every command listed below is registered buffer-local on `.wiki` files
under both names: the `:Vimwiki*` form (for migration from vimwiki) and
the canonical `:Nuwiki*` alias. Only the `:Vimwiki*` form is shown.
All commands are available in both forms:
- Canonical form: :Nuwiki*
- Vimwiki-compatible form: :Vimwiki*
Every command listed below is registered buffer-logic on `.wiki` files.
Only the `:Nuwiki*` form is shown in this document for brevity.
Wiki / navigation ~
*:VimwikiIndex*
:VimwikiIndex [{count}]
*:NuwikiIndex*
:NuwikiIndex [{count}]
Open wiki N's index page (default: 1).
*:VimwikiTabIndex*
:VimwikiTabIndex [{count}]
*:NuwikiTabIndex*
:NuwikiTabIndex [{count}]
Same, in a new tab.
*:VimwikiUISelect*
:VimwikiUISelect
*:NuwikiUISelect*
:NuwikiUISelect
Pick a wiki from a list (multi-wiki only). Uses |vim.ui.select| on
Neovim, |inputlist()| on Vim.
*:VimwikiGoto*
:VimwikiGoto {page}
*:NuwikiGoto*
:NuwikiGoto {page}
Open `{page}.wiki` by name.
*:VimwikiFollowLink*
:VimwikiFollowLink
*:NuwikiFollowLink*
:NuwikiFollowLink
Follow the link under the cursor.
*:VimwikiBacklinks*
:VimwikiBacklinks
*:NuwikiBacklinks*
:NuwikiBacklinks
Show all references to the current page.
*:VimwikiNextLink*
:VimwikiNextLink
*:VimwikiPrevLink*
:VimwikiPrevLink
*:NuwikiNextLink*
:NuwikiNextLink
*:NuwikiPrevLink*
:NuwikiPrevLink
Jump to the next / previous wikilink on the page.
*:VimwikiBaddLink*
:VimwikiBaddLink
*:NuwikiBaddLink*
:NuwikiBaddLink
Add the target of the link under the cursor to the buffer list.
*:VimwikiRenameFile*
:VimwikiRenameFile
*:NuwikiRenameFile*
:NuwikiRenameFile
Prompt for a new name; rename the current page and rewrite every
inbound link.
*:VimwikiDeleteFile*
:VimwikiDeleteFile
*:NuwikiDeleteFile*
:NuwikiDeleteFile
Delete the current page and its on-disk file.
Diary ~
*:VimwikiMakeDiaryNote*
:VimwikiMakeDiaryNote
*:NuwikiMakeDiaryNote*
:NuwikiMakeDiaryNote
Open today's diary entry. With `diary_frequency = 'weekly'` (or
`'monthly'` / `'yearly'`) this addresses this week's / this month's
/ this year's entry instead. The file stems follow:
@@ -294,74 +299,74 @@ Diary ~
monthly YYYY-MM 2026-05.wiki
yearly YYYY 2026.wiki
*:VimwikiMakeYesterdayDiaryNote*
:VimwikiMakeYesterdayDiaryNote
*:VimwikiMakeTomorrowDiaryNote*
:VimwikiMakeTomorrowDiaryNote
*:NuwikiMakeYesterdayDiaryNote*
:NuwikiMakeYesterdayDiaryNote
*:NuwikiMakeTomorrowDiaryNote*
:NuwikiMakeTomorrowDiaryNote
Step the diary back / forward by one period at the configured
cadence.
*:VimwikiDiaryIndex*
:VimwikiDiaryIndex
*:NuwikiDiaryIndex*
:NuwikiDiaryIndex
Open the diary index page.
*:VimwikiDiaryGenerateLinks*
:VimwikiDiaryGenerateLinks
*:NuwikiDiaryGenerateLinks*
:NuwikiDiaryGenerateLinks
Rebuild the diary index page from the entries currently on disk.
*:VimwikiDiaryNextDay*
:VimwikiDiaryNextDay
*:VimwikiDiaryPrevDay*
:VimwikiDiaryPrevDay
*:NuwikiDiaryNextDay*
:NuwikiDiaryNextDay
*:NuwikiDiaryPrevDay*
:NuwikiDiaryPrevDay
Walk to the next / previous indexed diary entry at the same cadence
as the current one.
Page generation ~
*:VimwikiTOC*
:VimwikiTOC
*:NuwikiTOC*
:NuwikiTOC
Generate or refresh the table of contents on the current page.
*:VimwikiGenerateLinks*
:VimwikiGenerateLinks
*:NuwikiGenerateLinks*
:NuwikiGenerateLinks
Insert a flat list of every page in the wiki under the cursor.
*:VimwikiCheckLinks*
:VimwikiCheckLinks
*:NuwikiCheckLinks*
:NuwikiCheckLinks
Send every broken link in the workspace to the |quickfix| list.
Tags ~
*:VimwikiSearchTags*
:VimwikiSearchTags {tag}
*:NuwikiSearchTags*
:NuwikiSearchTags {tag}
Quickfix listing every `:tag:` occurrence.
*:VimwikiGenerateTagLinks*
:VimwikiGenerateTagLinks [tag]
*:NuwikiGenerateTagLinks*
:NuwikiGenerateTagLinks [tag]
Insert a section linking every page that has `<tag>`. With no
argument, generates a section per tag found in the workspace.
*:VimwikiRebuildTags*
:VimwikiRebuildTags
*:NuwikiRebuildTags*
:NuwikiRebuildTags
Force a full workspace re-index.
HTML export ~
*:Vimwiki2HTML*
:Vimwiki2HTML
*:Nuwiki2HTML*
:Nuwiki2HTML
Render the current page to HTML.
*:Vimwiki2HTMLBrowse*
:Vimwiki2HTMLBrowse
*:Nuwiki2HTMLBrowse*
:Nuwiki2HTMLBrowse
Render the current page and open it in the default browser.
*:VimwikiAll2HTML*
:VimwikiAll2HTML[!]
*:NuwikiAll2HTML*
:NuwikiAll2HTML[!]
Export every page in the wiki. `!` forces a full rebuild; otherwise
only out-of-date pages are re-rendered.
*:VimwikiRss*
:VimwikiRss
*:NuwikiRss*
:NuwikiRss
Write `rss.xml` summarising recent diary entries.
Other ~
@@ -522,7 +527,7 @@ The `diary_frequency` per-wiki option controls the cadence:
monthly YYYY-MM e.g. `2026-05.wiki`
yearly YYYY e.g. `2026.wiki`
`:VimwikiMakeDiaryNote` opens the entry for the current period at the
`:NuwikiMakeDiaryNote` opens the entry for the current period at the
configured cadence; the yesterday / tomorrow commands step back and
forward by one period. `<C-Down>` / `<C-Up>` walk between indexed
entries of the same flavour as the one under the cursor — so on a
@@ -530,7 +535,7 @@ weekly page, navigation stays weekly.
Index ~
`:VimwikiDiaryGenerateLinks` rebuilds the diary index page (`diary.wiki`
`:NuwikiDiaryGenerateLinks` rebuilds the diary index page (`diary.wiki`
by default) with a chronological list of every entry on disk, grouped
by year / month. The page name is set by `diary_index`; the heading is
set by `diary_header`.
@@ -564,8 +569,8 @@ column moves, cell navigation, new-row insertion).
==============================================================================
11. HTML EXPORT *nuwiki-html*
`:Vimwiki2HTML` renders the current page; `:Vimwiki2HTMLBrowse` opens
the result in the default browser; `:VimwikiAll2HTML` exports every
`:Nuwiki2HTML` renders the current page; `:Nuwiki2HTMLBrowse` opens
the result in the default browser; `:NuwikiAll2HTML` exports every
page (incremental by default; `!` forces a full rebuild).
Per-wiki knobs:
@@ -579,7 +584,7 @@ Per-wiki knobs:
`exclude_files` Glob patterns excluded from export.
Templates may include `{title}`, `{rootpath}`, `{content}`, `{css}`,
`{date}` placeholders. RSS for the diary is written by `:VimwikiRss`.
`{date}` placeholders. RSS for the diary is written by `:NuwikiRss`.
==============================================================================
12. FOLDING *nuwiki-folding*
@@ -631,7 +636,7 @@ match vimwiki. To migrate:
Existing pages, diary entries, tags, and templates work without
modification. The first workspace scan after launch may show an empty
`:VimwikiCheckLinks` result until the background index completes;
`:NuwikiCheckLinks` result until the background index completes;
subsequent runs are instant.
vim:tw=78:ts=8:ft=help:norl: