* docs: add SyncTeX section with viewer recipes Problem: SyncTeX setup for forward/inverse search was undocumented, forcing users to figure out viewer-specific CLI flags on their own. Solution: Add `preview-synctex` vimdoc section with shared setup and per-viewer recipes for Zathura, Sioyek, and Okular. Add FAQ entry in README pointing to the new section. * build: add `zathura` and `sioyek` to nix dev shell * docs: fix Okular inverse search instructions Problem: Okular settings path was incomplete and didn't mention the trigger keybinding. Solution: Update to full path (Settings -> Configure Okular -> Editor) and note that Shift+click triggers inverse search.
1.8 KiB
1.8 KiB
preview.nvim
Universal previewer for Neovim
An extensible framework for compiling and previewing any documents (LaTeX, Typst, Markdown, etc.)—diagnostics included.
Features
- Async compilation via
vim.system() - Built-in presets for Typst, LaTeX (latexmk, pdflatex, tectonic), Markdown, GitHub-flavored Markdown, AsciiDoc, PlantUML, Mermaid, and Quarto
- Compiler errors via
vim.diagnosticor quickfix - Previewer auto-close on buffer deletion
Requirements
- Neovim 0.11+
Installation
With lazy.nvim:
{
'barrettruth/preview.nvim',
init = function()
vim.g.preview = { typst = true, latex = true }
end,
}
Or via luarocks:
luarocks install preview.nvim
Documentation
:help preview.nvim
FAQ
Q: How do I define a custom provider?
vim.g.preview = {
rst = {
cmd = { 'rst2html' },
args = function(ctx)
return { ctx.file, ctx.output }
end,
output = function(ctx)
return ctx.file:gsub('%.rst$', '.html')
end,
},
}
Q: How do I override a preset?
vim.g.preview = {
typst = { env = { TYPST_FONT_PATHS = '/usr/share/fonts' } },
}
Q: How do I automatically open the output file?
Set open = true on your provider (all built-in presets have this enabled) to
open the output with vim.ui.open() after the first successful compilation in
toggle/watch mode. For a specific application, pass a command table:
vim.g.preview = {
typst = { open = { 'sioyek', '--new-instance' } },
}
Q: How do I set up SyncTeX (forward/inverse search)?
See :help preview-synctex for full recipes covering Zathura, Sioyek, and
Okular.