vgrep: A pager for grep

[ bsd3, library, program, web ] [ Propose Tags ]

vgrep is a pager for navigating through grep output.


grep -rn foo | vgrep
vgrep foo /some/path
vgrep foo /some/path | vgrep bar

Use hjkl or arrow keys to navigate, Enter to view file, q to quit.

[Skip to Readme]


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,,,,,
Change log
Dependencies aeson (>=0.9 && <0.10 || >=0.11 && <1.6 || >=2 && <2.1), async (>=2.0.2), attoparsec (>=, base (>=4.11 && <5), containers (>=, directory (>=1.2.2), fingertree (>=0.1.1), generic-deriving (>=1.5.0), lifted-base (>=, microlens-mtl, microlens-platform, mmorph (>=1.0.4), mtl (>=2.2.1), pipes (>=4.1.6), pipes-concurrency (>=2.0.3), process (>=1.2.3), stm (>=2.4.4), template-haskell (>=2.10), text (>=, transformers, unix (>=2.7.1), vgrep, vty (>=5.4.0 && <5.34), yaml (>=0.8.12) [details]
License BSD-3-Clause
Copyright 2016 Franz Thoma
Author Franz Thoma
Revised Revision 2 made by sjakobi at 2022-03-07T03:49:09Z
Category Web
Home page
Source repo head: git clone
Uploaded by fmthoma at 2021-01-26T18:32:44Z
Executables vgrep
Downloads 4593 total (30 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2021-01-26 [all 1 reports]

Readme for vgrep-

[back to package description]

vgrep -- A pager for grep



  • As a pager:

    grep -rn data /some/path | vgrep  # -n for line numbers
  • As a drop-in replacement for grep:

    vgrep data /some/path                  # recursive by default
    vgrep data /some/path | vgrep default  # works with pipes, too
  • With a git alias defined in your ~/.gitconfig:

    git config --global alias.vgrep '!__git_vgrep () { git grep --color=always "$@" | vgrep; }; __git_vgrep'
    git vgrep data
  • Using ack/ag instead of grep? No problem:

    ack data | vgrep           # Output of `ack` is compatible
    ack --color data | vgrep   # Even coloring works
    ag --color data | vgrep    # Same for `ag`


  • Use hjkl or the arrow keys to navigate
  • Enter opens a pager with the selected file
  • e opens the selected file in $EDITOR
  • Tab switches between results list and pager
  • q closes the pager and then the entire application.


Via nix from nixpkgs

nix-env -iA nixpkgs.haskellPackages.vgrep

From Hackage

Installation from Hackage via stack is recommended:

stack update
stack install vgrep

This will install vgrep to your ~/.local/bin directory.

From source

git clone
cd vgrep
stack setup
stack install