Skip to content

Sahel13/notes.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

notes.nvim

A small note-taking plugin for Neovim inspired by the Zettelkasten style, emulating a few core vimwiki features.

Features

  • Wiki-link completion for [[...]] via blink.cmp, scanning Markdown files in :pwd (flat directory).
  • Follow [[note]] with Enter to open or create note.md in :pwd.
  • Open wiki-links or citations in a split (Shift+Enter) or vertical split (Ctrl+Enter).
  • Citation support with [@key] syntax (Pandoc-style) and BibTeX integration.
  • Citation completion from .bib files with author/year metadata.
  • Follow [@key] to jump to the entry in your bib file.
  • Create reference notes from BibTeX entries (Telescope picker with bib preview, vim.ui.select fallback).
  • Back navigation stack with Backspace after following links.
  • Navigate between wiki-links with Tab (next) and Shift+Tab (previous).
  • Backlinks search into the quickfix list using ripgrep.
  • Daily notes with automatic date-based filename (YYYY-MM-DD.md) and formatted title.

Installation

Prerequisites

Using lazy.nvim

{
    "Sahel13/notes.nvim",
    ft = "markdown",
    opts = {},
}

Register the source in your blink.cmp configuration:

{
    "saghen/blink.cmp",
    opts = {
        sources = {
            default = { "lsp", "path", "snippets", "buffer", "notes" },
            providers = {
                notes = {
                    name = "notes",
                    module = "notes",
                },
            },
        },
    },
}

Configuration

The full configuration with default keybindings is given below.

opts = {
    bib_file = "~/references.bib",  -- Optional: path to your BibTeX file
    mappings = {
        follow = "<CR>",
        follow_split = "<S-CR>", -- Split and follow wiki-link or citation
        follow_vsplit = "<C-CR>", -- Vertical split and follow wiki-link or citation
        back = "<BS>",
        next_wikilink = "<Tab>",
        prev_wikilink = "<S-Tab>",
        backlinks = "<leader>nb",
        daily_note = "<leader>nd",
        reference_note = "<leader>nr",
    },
}

Set any mapping to false to disable it.

About

A Neovim plugin for easy note-taking in Markdown.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages