ripgrep-allでどこかに保存した論文を探す

初めてblogっぽいことを書いてみる。

最近TL上でたまに流れてきて気になってはいたものの、podcastなるものにあまり馴染みがなく敬遠していたが、テーマにそそられて思い切って聞いてみた。 researchat.fm

2時間とめちゃくちゃ長いが、人の声に飢えているのか、作業しながらつい全部聞いてしまった。うるさい先輩たちが話しているような感じ(ごめんなさい)なんだけど、結構タメになる。3人が話しているだけで2時間のコンテンツとして成り立たせるなんてすごい。

この放送の中で、「 論文管理どうしてる?」という話題があり、「ぶっちゃけ無理っすね、必要な時に都度探します」という話になっていて(その時に言っていた「論文それ自体よりも、以前にそれを読むことにした過程を覚えていればたどり着ける」というのもなるほどと思った)、へぇそういうものか、と思ったのだけど(自分は基本Mendeleyで管理している)、そこで一人の方が言及していた ripgrep-allなるものに惹かれ、早速導入してみた。ので、本稿はその記録です。一般的な論文の探し方や読み方などの詳細は上のpodcastをお聞きください。

github.com

brewで超簡単にインストールできたので特に説明することもない。PDFを検索するのにpopplerというのも必要だったのでそれも合わせてインストールした。

$ brew install rga
$ brew install poppler

論文ディレクトリを対象に適当にcollective behaviorという文字列を含む論文を探してみた。

f:id:dxsato:20200519160438p:plain

速い。

さらにfzf (fuzzy-finder)と組み合わせると、より効率的に探せる。

# fzfのインストール
$ git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
$ ~/.fzf/install

# rgaと組み合わせる
$ rga "collective behavior" ~/Dropbox/研究室/論文/2020.5/*.pdf | fzf

f:id:dxsato:20200519160257p:plain

というかfuzzy-finder便利だなこれ。ripgrep-allよりも、こっちの方が気になってきた。上の作業だけならspotlightとそこまで変わらない気がするので、もう少しここら辺の使い方を洗練させたい。