mbpowers
nvimager
Lua

Inline markdown image/gif/video/pdf/LaTeX previewer for nvim using ueberzug.

Last updated Jun 21, 2026
79
Stars
3
Forks
2
Issues
0
Stars/day
Attention Score
14
Language breakdown
Lua 56.4%
Shell 38.7%
Vim Script 4.9%
Files click to expand
README

nvimager

repo size license contributions welcome standard-readme compliant

Inline markdown image/gif/video/pdf/LaTeX previewer for nvim using ueberzug.

Designed for use with vimwiki using markdown syntax.

nvimagerbannerlong

Table of Contents

Install

Dependencies

nvimager Download using your preffered plugin manager, otherwise here are instructions for Vim-Plug.

  • Add plugin to vim-plug block in vimrc.
call plug#begin[]
  Plug 'mbpowers/nvimager'
call plug#end[]
  • Add keybinding in vimrc.
nmap <leader>qq <Plug>NvimagerToggle
  • Restart nvim, and run :PlugInstall.

Usage

Nvimager matches text in the buffer to the following patterns:

Dynamic Previews

name or $ equation $

  • Height is determined by number empty lines below (excluding line with EOF).
  • Width is the width of the terminal.
  • Will update on the fly on BufTextChanged.

Static Previews

name<!--widthxheight--> or TODO ~$ equation $<!--widthxheight-->~

  • Width and height are measured in terminal cells.
  • The html comment <!--comment--> is allowed either two or three hyphens per side.
  • On creation a static image will insert filler text, consisting of full block characters, "█", in exactly the cells of the preview.
  • Do not delete filler text! Filler text will be deleted upon BufWrite, deletion of the link pattern, or when nvimager is toggled off.
  • Filler text is removed PreBufWrite and replaced PostBufWrite, so you don't have to toggle to avoid writing filler lines to your file.
  • Do not have multiple static previews on one line!
  • Must toggle nvimager to update size.

Block Previews

  • TODO

example

Configuration

Options

You can set these in your init.vim:

| option | default | description | |-------------------------|---------------|----------------------------------------------------| | nvimager#autostart | 0 | start on BufEnter? | | nvimager#title | 1 | print titles? | | nvimager#dynamicscaler | 'fitcontain' | see Üeberzug | | nvimager#staticscaler | 'forcedcover'| see Üeberzug |

let g:nvimager#autostart = 0
let g:nvimager#title = 1
let g:nvimager#dynamicscaler = 'fitcontain'
let g:nvimager#staticscaler = 'forcedcover'

Acknowledgements

Scripts

vimg

animatedthumbnail_gen.sh

neovim-plugins-in-lua

Maintainers

@mbpowers

Contributing

PRs, issues and feature suggestion welcomed.

If editing the README, please conform to the standard-readme specification.

License

MIT © 2022 mbpowers

🔗 More in this category

© 2026 GitRepoTrend · mbpowers/nvimager · Updated daily from GitHub