Files & navigation · beta · Neovim 0.10+ · 168 commits

hover.nvim

Rest the cursor on something that points at a file — a markdown link, or a path written as plain text — and a small float shows what it points at.

Repository README :help

recorded with VHS from demos/hover.tape in a clean Neovim — re-recorded weekly
what is shown when
  1. :Hover show on a markdown link -> markdown.nvim finds the target -> the file, previewed in place
  2. :Hover show on a bare path in prose -> resolved next to the buffer -> previewed the same way
  3. :Hover show on file.md#heading -> that section of the file, not its top
  4. :Hover show on https://stefanbartl.github.io/wkd/ -> curl fetches the page -> status, title, first words
video and PDF links · recorded with VHS from demos/hover-media.tape in a clean Neovim — re-recorded weekly · needs media.nvim , pdfport.nvim What the float can hold depends on the terminal: with a graphics protocol (kitty, sixel) it draws a frame of the video and page 1 of the PDF; this recording runs in one without, so it shows what hover.nvim says instead.
what is shown when
  1. :Hover show on an mp4 link -> media.nvim probes it with ffprobe -> type, size, resolution, length
  2. :Hover show on a PDF link -> pdfport.nvim renders page 1 in a graphics terminal -> here: what the float says
  3. :Hover why on plain prose -> the gate that refused, and what would let it through
hover.nvim: A bare path in prose: the file it points at, in a float with the name in the border.
A bare path in prose: the file it points at, in a float with the name in the border.
hover.nvim: An image link: with images.nvim in a graphics-capable terminal, the picture itself is drawn into the float. Not something a recording can show, hence a screenshot.
An image link: with images.nvim in a graphics-capable terminal, the picture itself is drawn into the float. Not something a recording can show, hence a screenshot.

Install

{
  "StefanBartl/hover.nvim",
  opts = {},
}

Beta stage — active development. This repository is past its first shape and in active use, but the surface is not frozen: breaking changes are still possible. Pin a commit or tag if you depend on it.

Documentation

Recent commits

  1. docs play_scale default is 2.5 in the type and the video example
  2. refactor shot: find the browser through lib.nvim.deps.require_tool
  3. fix show: don't let an unforced re-trigger close an explicitly requested hover
  4. fix directory: resolve a symlinked directory correctly, report a failed open
  5. feat directory: browse a directory hover's mini filetree
  6. docs link back to the wkd family site
  7. fix bindings: take back a buffer's autocmd records and group when it goes away
  8. ci bump leafo/gh-actions-lua and gh-actions-luarocks off Node 20

Combos