lolpie244/hover-notes.nvim

Custom hover notes with categories support

Lua

8

17 commits

updated Sep 27, 2026

See the code

See what people are saying

SourceMessageScoreDate

[Plugin] hover-notes.nvim update (r/neovim)

Hi everyone! I already [posted](https://www.reddit.com/r/neovim/comments/1vqsy5z/plugin_hovernotesnvim/) about this plugin, but it received new features that make it a lot more usable (and a new demo that hopefully better displays the plugin's functionality)…

6

Sep 27, 2026

README

hover-notes.nvim

Custom hover notes with categories support

https://github.com/user-attachments/assets/1dcc8dcc-ea98-4857-8f0b-9035460d3ce9

Table of Contents
  • Description
  • Installation
  • Configuration
  • Commands
  • Description

    The main goal of this plugin is to add the ability to attach notes to words and view them in a floating window

    The same note is displayed for every occurrence of this word, not only in specific line/file/buffer

    Features:

    • Notes can be grouped by categories with the same formatting
    • A default category is maintained for each workspace individually
    • A category can be set for a workspace, a buffer, or an individual file
    • Retrieves the closest matching word (up to a difference of half the word's length)
    • Highlight with support for big files & big dictionaries
    • Quiz mode to test your knowledge

    Installation

    Install the plugin with your favourite package manager:

    lazy.nvim
    {
      "lolpie244/hover-notes.nvim",
    }
    
    Packer
    require('packer').startup(function()
        use {
          "lolpie244/hover-notes.nvim",
        }
    end)
    

    Configuration

    require("hover-notes").setup({
    	notesDir = vim.fn.stdpath("data") .. "/hover-notes", -- the root directory where all notes are stored
    	defaultCategory = { -- the default note category
    		name = "Default",
    		format = "{text}",
    	},
    	ui = { -- style of the float window
    		float = {
    			style = "minimal",
    			border = "rounded",
    		},
    	},
        highlight = {
    		enable = true,
    		-- if length of words in dictionary is longer than subsstr_match_size_limit - use exact word match instead of substring
    		subsstr_match_size_limit = 1000,
    		style = { underline = true, sp = vim.api.nvim_get_hl(0, { name = "String", link = false }).fg, bold = true, default = true },
    	},
    
    })
    

    Commands

    CommandDescription
    HNShow {word}Show the note for the word*
    HNEdit {word}Add/edit the note for the word*
    HNDeleteNote {word}Delete the note for the word*
    HNQuiz {word}Start Quiz mode for the word*
    HNCreateCategory {name}Create new notes category
    HNDeleteCategory {name}Delete existing category with all notes
    HNGetCategoryGet category used by this buffer
    HNSetWorkspace {name}Set notes category for the workspace
    HNSetBuffer {name}Set notes category for the buffer
    HNSetFile {name}Set notes category for the file

    *All commands that target a word (HNShow, HNEdit...) will automatically prioritize:

    1. Word provided as an argument: :HNShow lorem
    2. A visual selection
    3. The word under cursor

    TODO

    • Add Quiz mode
    • Add confirmation on removal
    • Visual highlight of the words with notes

    lolpie244/hover-notes.nvim

    Custom hover notes with categories support

    Lua

    8

    17 commits

    updated Sep 27, 2026

    See the code

    See what people are saying

    SourceMessageScoreDate

    [Plugin] hover-notes.nvim update (r/neovim)

    Hi everyone! I already [posted](https://www.reddit.com/r/neovim/comments/1vqsy5z/plugin_hovernotesnvim/) about this plugin, but it received new features that make it a lot more usable (and a new demo that hopefully better displays the plugin's functionality)…

    6

    Sep 27, 2026

    README

    hover-notes.nvim

    Custom hover notes with categories support

    https://github.com/user-attachments/assets/1dcc8dcc-ea98-4857-8f0b-9035460d3ce9

    Table of Contents
  • Description
  • Installation
  • Configuration
  • Commands
  • Description

    The main goal of this plugin is to add the ability to attach notes to words and view them in a floating window

    The same note is displayed for every occurrence of this word, not only in specific line/file/buffer

    Features:

    • Notes can be grouped by categories with the same formatting
    • A default category is maintained for each workspace individually
    • A category can be set for a workspace, a buffer, or an individual file
    • Retrieves the closest matching word (up to a difference of half the word's length)
    • Highlight with support for big files & big dictionaries
    • Quiz mode to test your knowledge

    Installation

    Install the plugin with your favourite package manager:

    lazy.nvim
    {
      "lolpie244/hover-notes.nvim",
    }
    
    Packer
    require('packer').startup(function()
        use {
          "lolpie244/hover-notes.nvim",
        }
    end)
    

    Configuration

    require("hover-notes").setup({
    	notesDir = vim.fn.stdpath("data") .. "/hover-notes", -- the root directory where all notes are stored
    	defaultCategory = { -- the default note category
    		name = "Default",
    		format = "{text}",
    	},
    	ui = { -- style of the float window
    		float = {
    			style = "minimal",
    			border = "rounded",
    		},
    	},
        highlight = {
    		enable = true,
    		-- if length of words in dictionary is longer than subsstr_match_size_limit - use exact word match instead of substring
    		subsstr_match_size_limit = 1000,
    		style = { underline = true, sp = vim.api.nvim_get_hl(0, { name = "String", link = false }).fg, bold = true, default = true },
    	},
    
    })
    

    Commands

    CommandDescription
    HNShow {word}Show the note for the word*
    HNEdit {word}Add/edit the note for the word*
    HNDeleteNote {word}Delete the note for the word*
    HNQuiz {word}Start Quiz mode for the word*
    HNCreateCategory {name}Create new notes category
    HNDeleteCategory {name}Delete existing category with all notes
    HNGetCategoryGet category used by this buffer
    HNSetWorkspace {name}Set notes category for the workspace
    HNSetBuffer {name}Set notes category for the buffer
    HNSetFile {name}Set notes category for the file

    *All commands that target a word (HNShow, HNEdit...) will automatically prioritize:

    1. Word provided as an argument: :HNShow lorem
    2. A visual selection
    3. The word under cursor

    TODO

    • Add Quiz mode
    • Add confirmation on removal
    • Visual highlight of the words with notes

    Languages

    Lua

    100.0%