this post was submitted on 09 Nov 2023
1 points (100.0% liked)

Emacs

310 readers
1 users here now

A community for the timeless and infinitely powerful editor. Want to see what Emacs is capable of?!

Get Emacs

Rules

  1. Posts should be emacs related
  2. Be kind please
  3. Yes, we already know: Google results for "emacs" and "vi" link to each other. We good.

Emacs Resources

Emacs Tutorials

Useful Emacs configuration files and distributions

Quick pain-saver tip

founded 1 year ago
MODERATORS
 

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.

top 8 comments
sorted by: hot top controversial new old
[–] varsderk@alien.top 1 points 10 months ago

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 then embark-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.

[–] xalixil@alien.top 1 points 10 months ago
[–] habamax@alien.top 1 points 10 months ago

Using M-x grep RET with ripgrep:

;; ripgrep as grep
(setq grep-command "rg -nS --no-heading "
      grep-use-null-device nil)

Then M-g n or M-g p for the next/previous match. With (repeat-mode) consequent next/previous are just n and p.

https://asciinema.org/a/YuUtg8nswgaiBxrIm9drTXAtD

[–] bravosierrasierra@alien.top 1 points 10 months ago

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)
[–] gammarray@alien.top 1 points 10 months ago

I’m all about counsel or consult ripgrep, but deadgrep should get honorable mention too.

[–] hvis@alien.top 1 points 10 months ago (1 children)

Also try C-x p g for a similar UI.

Customize xref-search-program to make it use ripgrep under the covers.

[–] Kwisacks@alien.top 1 points 10 months ago

Which points to the grep command, so what really needs to be customize is grep-command no?

[–] zoechi@alien.top 1 points 10 months ago

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