« ^ »

ripgrep

所要時間: 約 2分

ripgrepのインストール

https://github.com/BurntSushi/ripgrep#installation に従ってインストールする。 macOSなので brew install ripgrep を実行するだけだ。

brew install ripgrep
ripgrepのインストール
==> Downloading https://homebrew.bintray.com/bottles/ripgrep-12.1.1.big_sur.bottle.tar.gz
Already downloaded: /Users/XXXXXXX/Library/Caches/Homebrew/downloads/03953b0e01d6b0dbc2554502d4cfd2b35e9c073551a20fb93a096bf0b6c42b3b--ripgrep-12.1.1.big_sur.bottle.tar.gz
==> Reinstalling ripgrep
==> Pouring ripgrep-12.1.1.big_sur.bottle.tar.gz
==> Caveats
zsh completions have been installed to:
  /usr/local/share/zsh/site-functions
==> Summary
🍺  /usr/local/Cellar/ripgrep/12.1.1: 13 files, 6MB
出力

ripgrepをインストールしたのでversionを見てみる。

rg --version
ripgrep 12.1.1
-SIMD -AVX (compiled)
+SIMD +AVX (runtime)
ripgrepのhelp

バイナリはインストールできた。

ripgrep-all

画像やPDFなどをripgrepで検索する際にはプリプロセスを–preで指定して実行する必要がある。 それらの処理を適宜実行してくれるripgrepのラッパーがripgrep-allだ。

https://github.com/phiresky/ripgrep-all

こちらを使うのも悪くないだろう。

Emacsでripgrepを利用する

ripgrep用に書かれたEmacsの拡張はいくつか存在する。

rg.el

Emacs上で使いたいので rg.el をインストールする。

(use-package rg :ensure t)

rg が使える。 検索に際して形式を選択できる。 ただし形式を選択してもその形式にあったプリプロセスが実行されるわけではない。 例えばPDFを選択してもpdftotextが事前に実行されることはない。

ripgrep.el

さらにEmacs上で使いたいので ripgrep.el をインストールする。

(use-package ripgrep :ensure t)

インストールが完了すると ripgrep-regexp , projectile-ripgrep などが使える。

こちらは形式の選択などはなくよりシンプルだ。