Ripgrep is a command line tools that searches patterns under your current directory, like the good old grep, but with faster speed. In this post, I list some of the commonly-used flags for ripgrep.

commandDescription
rg image utils.pySearch in a single file utils.py
rg image src/Search in dir src/ recursively
rg imageSearch image in current dir recursively
rg '^We' test.txtRegex searching support (lines starting with We)
rg -i imageSearch image and ignore case (case-insensitive search)
rg -s imageSmart case search
rg -F '(test)'Search literally, i.e., without using regular expression
rg image -g '*.py'File globing (search in certain files)
rg image -g '!*.py'Negative file globing (do not search in certain files)
rg image --type py or rg image -tpy1Search image in Python file
rg image -TpyDo not search image in Python file type
rg -l imageOnly show files containing image (Do not show the lines)
rg --files-without-match imageShow files not containing image
rg -v imageInverse search (search files not containing image)
rg -w imageSearch complete word
rg --countShow the number of matching lines in a file
rg --count-matchesShow the number of matchings in a file

How to enable shell completion for ripgrep?

The binary release of ripgrep also include completion files for Bash, Zsh. When we extract the binary release, the completion file is under completion/_rg. For zsh, we should move this file to one of the paths in env variable $fpath.

References


  1. To list the supported filetypes, use rg --type-list. ↩︎