A Minimal Note-Taking System with Vim, fzf, and Git

Published: (December 14, 2025 at 12:47 AM EST)
1 min read
Source: Dev.to

Source: Dev.to

The Setup

Notes live in ~/notes as plain Markdown files. That’s it—no database, no app, no subscription.

Daily Notes

note              # opens ~/notes/2024-12-14.md
note ideas        # opens ~/notes/ideas.md
note work/standup # opens ~/notes/work/standup.md

The script creates parent directories automatically, so organizing by project or topic is effortless.

Finding Things

note -l           # list all notes, sorted by recent
note -s "keyword" # search content across all notes
note -t           # find all unchecked todos

All powered by fzf with preview. I can fuzzy‑find through hundreds of notes instantly and jump to the exact line.

list

todo

Syncing

note sync  # sync with git

The first run initializes the repo and asks for a remote URL. After that, it pulls, commits changes with a timestamp, and pushes. Simple backup and multi‑device sync.

Why This Works

  • Speed: Vim opens instantly—no Electron, no loading screens (or you can choose whatever editor you want).
  • Portable: Plain text works everywhere, forever.
  • Searchable: grep + fzf.
  • Versioned: Git history provides free time travel.
  • No vendor lock‑in: Your notes are just files.
Back to Blog

Related posts

Read more »