Ripgrep is a fast search tool like grep
. It's mostly a drop-in replacement for ag
, also know as the Silver Searcher.
helm-ag
is a fantastic package for Emacs that allows you to display search results in a buffer.
You can also jump to locations of matches. Despite the name, helm-ag
works with ripgrep (rg
) as well
as with ag
.
-
Install ripgrep
-
Make Spacemacs use helm-project-do-ag directly when pressing
SPC /
without preselecting the symbol under the cursor.Type
SPC f e d
to bring up~/.spacemacs
.(defun dotspacemacs/user-config () ;; .... (evil-leader/set-key "/" 'spacemacs/helm-project-do-ag))
-
Force ripgrep as search tool
SPC SPC customize-set-variable
Select variable
helm-ag-base-command
Set value to
rg --vimgrep --no-heading --smart-case
SPC /
should allow you to search in the current project.
You can prefix patterns with options
-G*.cljs -w time
- search for the word "time" in all .cljs
files
-tclojure time
- search for "time" in all .{clj,cljs,cljc}
files
uno\ due\ tre
- search for the string "uno duo tre"
-C5 foo
- search for "foo" but show 5 lines of context before and after the match
(?:^|[^\w-])time(?:[^\w-]|$)
- search for lisp-word "time", i.e. search for the full word "time"
while considering "-" to be a word characer
Hello,
Is there a trick from Helm prompt to use option -g/--glob so to filtered out some globs ?
Something is misinterpreted when I try this:
and with pattern:
Value of my variable helm-do-ag--commands is:
(("rg" "--smart-case" "--no-heading" "--color=never" "--line-number" "--max-columns=512" "--ignore=.#" "--ignore=.o" ...some ignore entries skipped... "--ignore={arch}"))
Thank you for your answers!