vgrep
-- A pager for grep
Usage
-
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 ofgrep
? No problem:ack data | vgrep # Output of `ack` is compatible ack --color data | vgrep # Even coloring works ag --color data | vgrep # Same for `ag`
Keybindings:
- Use
hjkl
or the arrow keys to navigate Enter
opens a pager with the selected filee
opens the selected file in$EDITOR
Tab
switches between results list and pagerq
closes the pager and then the entire application.
Installation
nix
from nixpkgs
Via nix-env -iA nixpkgs.haskellPackages.vgrep
Hackage
FromInstallation from Hackage via stack
is recommended:
stack update
stack install vgrep
This will install vgrep
to your ~/.local/bin
directory.
source
Fromgit clone https://github.com/fmthoma/vgrep.git
cd vgrep
stack setup
stack install