No description
Find a file
2026-02-23 09:35:41 +01:00
bash-completion.sh Complete edit and show with available notes 2021-01-09 12:22:15 +01:00
flake.lock make nix flake 2025-07-31 10:50:21 +02:00
flake.nix fix git shell 2025-07-31 11:00:43 +02:00
git-sync Update git-sync 2025-07-31 10:15:13 +02:00
README.md README.md aktualisiert 2025-07-31 10:28:39 +02:00
vnote Allow to set edtior and vim options with env variables 2026-02-23 09:35:41 +01:00

VNOTES

A wrapper script around vim, pandoc, git, fzf and ripgrep to handle my notes intuitively without much mess. All those tools need to be installed on the system to use this tool as it is intended.

This project is inspired by a video made by CalinLeafshade.

Setup

Beside the tools above, you need to install the git-sync script of simonthum. A working version is included in this repository and can be added to the PATH. git-sync is licensed as CC0-1.0.

Afterwords initialize a git repository in that you want to store the notes, add a working remote and tell git-sync to add new files when syncing. This can be achieved with the following commands:

git config --bool branch.main.sync true
git config branch.main.syncNewFiles true

In the current version, this scripts defaults to ~/Notes as the directory for your notes, but this can be easily changed.

Documentation

The following commands are available:

  • vnote edit [-t] [title] Edit the note title using vim (already in insert-mode so that you can simply start typing. If the -t flag is given, the editor will insert a time stamp.
  • vnote sync Sync the notes folder using git. This uses the git-sync script of simonthum
  • vnote show [title] Show the plain text of the note, specified with title. If no title is given, this defaults to the file modified most recently.
  • vnote convert [-ua] [title] convert the given note to PDF using pandoc. If no title is given, this defaults to the file modified most recently. The "a" flag converts all notes, -u attempts to do this incrementally.
  • vnote list List all notes.
  • vnote search [term] Searches all notes for the given term using ripgrep and displays the result using fzf.
  • vnote isearch [term] Searches all notes interactively for the given term using ripgrep and displays the result using fzf and bat.

You can also pipe some input into vnote (e.g. echo "Hello World" | vnote -t test). This is equivalent to calling vnote edit -t test and typing "Hello World".

Bash completion

To enable bash completion, source the file bash-completion.sh in your bashrc. (This needs bash-completion installed).