Hi Everyone.
I’m using emacs and ripgrep to find what I’m looking for in a folder. Ripgrep shows the result of what I’m looking beautifully. Thats great. Every time I open a result, ripgrep buffer disappears.
Does anyone know how to open a temp buffer to view result then I can close it and go back to rg result again, so I don’t have to type my search query.
Thanks.
my solution: switch to any non-ripgrep buffer and navigate with next-error
(defun bss/next-error-in-same-window () (interactive) (let ((display-buffer-overriding-action '(display-buffer-same-window (inhibit-same-window . nil)))) (next-error))) (defun bss/previous-error-in-same-window () (interactive) (let ((display-buffer-overriding-action '(display-buffer-same-window (inhibit-same-window . nil)))) (previous-error))) (global-set-key (kbd "s-[") 'bss/previous-error-in-same-window) (global-set-key (kbd "s-]") 'bss/next-error-in-same-window)
Using
M-x grep RET
withripgrep
:;; ripgrep as grep (setq grep-command "rg -nS --no-heading " grep-use-null-device nil)
Then
M-g n
orM-g p
for the next/previous match. With(repeat-mode)
consequent next/previous are justn
andp
.I use consult-ripgrep to do the search, which shows me a live preview of the match candidates. If I want to make a buffer with all the results, I call
embark-act
thenembark-export
to dump the results into a buffer.I detail this workflow (including editing the matches!) here on my blog, which should have more details if you’re lost.
Also try
C-x p g
for a similar UI.Customize
xref-search-program
to make it use ripgrep under the covers.Which points to the
grep
command, so what really needs to be customize isgrep-command
no?
I’m all about counsel or consult ripgrep, but deadgrep should get honorable mention too.
I have a shortcut for ivy-occur in the search result to make it into a proper buffer. With [g] I can refresh the search