The Silver Searcher Fast code search
Light · Postcard
102 × 152 mm · PDF
Dark · Postcard
102 × 152 mm · PDF
Ink saver · Postcard
102 × 152 mm · PDF
Light · A4 landscape
297 × 210 mm · PDF
Dark · A4 landscape
297 × 210 mm · PDF
Ink saver · A4 landscape
297 × 210 mm · PDF
Light · A3 landscape
420 × 297 mm · PDF
Dark · A3 landscape
420 × 297 mm · PDF
Ink saver · A3 landscape
420 × 297 mm · PDF
Start here
ag <pattern>
ag -i <pattern>
ag -Q <text>
ag -G <regex> <pattern>
ag --<type> <pattern>
ag -C <n> <pattern>
ag -l <pattern>
ag -u <pattern>
Concepts
- Walk tree from . or <path>
- Filter types, -G, hidden
- Match PCRE per file
- Print path:line:text
Searching
ag <pattern> [<path>...]
ag -i <pattern>
ag -s <pattern>
ag -Q <text>
ag -w <word>
ag -v <pattern>
ag -o <pattern>
ag -m <n> <pattern>
ag --multiline <pattern>
ag -z <pattern>
ag --search-binary <pattern>
ag -f <pattern>
Output
ag -l <pattern>
ag -L <pattern>
ag -c <pattern>
ag --column <pattern>
ag --vimgrep <pattern>
ag --nogroup <pattern>
ag --nocolor <pattern>
ag -H <pattern>
ag --noheading <pattern>
ag -W <n> <pattern>
ag --print-long-lines <pattern>
ag --pager '<cmd>' <pattern>
ag --passthrough <pattern>
ag -0 -l <pattern>
ag --stats <pattern>
Context
ag -C [<n>] <pattern>
ag -A [<n>] <pattern>
ag -B [<n>] <pattern>
ag --nobreak <pattern>
Files and Types
ag --<type> <pattern>
ag --list-file-types
ag -G <regex> <pattern>
ag -g <regex>
ag -l ''
ag --ignore <pattern> <pattern>
ag --hidden <pattern>
ag -u <pattern>
ag -U <pattern>
ag -t <pattern>
ag -a <pattern>
ag -p <file> <pattern>
ag -n <pattern>
ag --depth <n> <pattern>
ag --one-device <pattern>
ag --workers <n> <pattern>
Regex
ag '<a>|<b>'
ag '^<text>'
ag '<text>$'
ag '\bword\b'
ag '\d+'
ag '(?i)<text>'
ag '<a>(?=<b>)'
ag '\s+$'
Ignore files
| Source | Effect |
|---|---|
.gitignore |
Skipped by default |
.hgignore |
Skipped by default |
.ignore |
ag-only rules, any directory |
~/.agignore |
Global ag-only rules |
# one pattern per linenode_modules*.min.jsbuild/dist/
Recipes
ag -l --null 'oldName' | xargs -0 sed -i 's/oldName/newName/g'
ag --python '^\s*def parse_' src/ag -C 3 'TODO|FIXME' --ignore '*.md'
ag --nobreak --noheading . | fzfag -g '\.test\.js$'
# in .vimrclet g:ackprg = 'ag --vimgrep'



