The project was born out of two major friction points in traditional CLI search workflows:Shell parsing hell – Quotes (', ") get stripped, spaces trigger word-splitting, and characters like $, !, and \ trigger unintended expansions. Searching for exact code snippets (e.g., {"key": "value"}) requires tedious escaping that breaks flow.Disconnected editor handoff & lost context – Standard rg outputs static text to the scrollback buffer. To inspect a match, you must manually copy the file path and line number to your editor (e.g., $EDITOR file.go +42). After editing and quitting, you're dumped back to a bare shell—losing the search context entirely. Re-inspecting the same results later requires re-running the entire rg scan from scratch, wasting CPU and disk I/O.
Demo
Terminal previewOverview
A fast interactive CLI search tool with Vim-motion navigation and editor integration
vgrep is an interactive CLI wrapper for ripgrep (rg) that bridges search and editing. It lets you instantly launch search results into your preferred editor (nvim, vim, wig) or perform in‑app and external find‑and‑replace operations
From the maintainer
Maintainer profilevg
The project was born out of two major friction points in traditional CLI search workflows:Shell parsing hell – Quotes
A fast interactive CLI search tool with Vim-motion navigation and editor integration
vgrep foovsvgrep -vTry searching for a pattern that is notoriously painful to type in a regular shell—like a code snippet containing spaces, quotes, or symbols
Its core differentiator is treating search results as a persistent, navigable session rather than ephemeral stdout. Instead of a one-off text dump, vgrep creates a stateful interactive workspace that:Provides a shell-agnostic raw input prompt (n) that completely bypasses bash/zsh expansions and quoting rules.Uses Vim-motion navigation (j/k, J/K for file jumps, g/G, relative counts like 3j) to move fluidly through results.
Latest Release
Full Changelog: https://github.com/lecheel/vg/compare/v1.0.1...v1.0.2
Discussions