__ __
____ ___ ____ ______/ /______/ /___ _ ______
/ __ `__ \/ __ `/ ___/ //_/ __ / __ \ | /| / / __ \
/ / / / / / /_/ / / / ,< / /_/ / /_/ / |/ |/ / / / /
/_/ /_/ /_/\__,_/_/ /_/|_|\__,_/\____/|__/|__/_/ /_/
a self-contained markdown toolkit
💡 Pairs well with cascade.nvim: markdown.nvim renders and structures the document (TOC, folding, tables), while cascade.nvim edits the list content inside it (continue, renumber, rotate).
A self-contained Markdown toolkit for Neovim. Pure FileType-scoped — zero side
effects on non-Markdown buffers. Requires Neovim >= 0.9 and
lib.nvim (the :Markdown/
:TableView* command layer, plus buffer debouncing); no external tools.
-- lazy.nvim
{
"StefanBartl/markdown.nvim",
dependencies = { "StefanBartl/lib.nvim" },
ft = { "markdown", "mdx", "md" },
config = function()
require("markdown").setup()
end,
}See docs/installation.md for packer.nvim and vim-plug.
💡 A
> quotedline gets VS Code-style coloring by default (green marker + text, dimmed background across the whole line) regardless of your colorscheme. Don't want that? See docs/templates/blockquote-hl.md for ready-to-pastesetup()snippets to turn it off, use your colorscheme's own colors instead, or pick different colors.
All soft dependencies — nothing below is required, and each is detected at runtime:
| Plugin | What it adds |
|---|---|
| pdfport.nvim | Following a .pdf link can render it into a Neovim buffer instead of opening the system reader. :Markdown export pdf exports the current buffer/file to PDF. |
| images.nvim / snacks.nvim / image.nvim | mi can preview an image in a floating window instead of the system viewer (image.preview) — images.nvim preferred when several are installed, the only one that draws on native Windows Neovim in WezTerm. With snacks.picker also installed, :Markdown links show gets a live per-item image preview too. :Markdown image paste|screenshot delegates straight to :Image paste/:Image screenshot. |
| telescope.nvim / fzf-lua | Extra picker backends for link selection (links.picker). |
- Features — per-theme write-up (headings, tables, links, editing/handlers, highlighting/UI, integrations) noting each feature's keymap/command/autocmd.
- Installation — requirements and setup for lazy.nvim, packer.nvim, vim-plug.
- Configuration — full
setup()reference with defaults, and feature gating. - Config templates — copy-paste
setup()snippets for common customizations (blockquote colors, feature subsets, picker backends, image preview). - Keymaps — every default keymap, remapping/disabling, and the actions API.
- Commands — the
:Markdowncommand and all its subcommands. - Fenced-block scope — treating a fenced Markdown block as its own sub-document.
- Width-limited table wrapping — the
:MDTable*command family (wrap/unwrap, lint, CSV, profiles, and more). - Menu integration — context-aware entries for nvzone/menu.
- Health — what
:checkhealth markdownreports. - Architecture — source tree layout and module responsibilities.
- Bindings cheatsheet — machine-readable list of every binding.
- Roadmap — planned work.