org-seek 20161216.2102(in MELPA)
Searching Org-mode files with search tools.

概要

org-mode専用の
高速全文検索・見出し検索が
欲しいですか?

それならば
org-seek.el を使ってみてください。

org-seek.elは
以下の高速検索プログラムを使って
ディレクトリ内のorgファイルから
検索してくれます。

デフォルトはagです。

実際は
対応するEmacsインターフェース

をorg-mode専用に
ラップしているだけなので
org-seek.elのコード自体は短いです。

org-seek.elは3つのコマンドを用意しています。

M-x org-seek-string
全文検索
M-x org-seek-regexp
全文正規表現検索
M-x org-seek-headlines
見出しのみ検索

どのコマンドも

  1. 検索クエリ
  2. 検索対象ディレクトリ

を順番に尋ね、
対応する検査ツールで
結果を表示してくれます。

あとはM-x grep同様に

  • M-g M-n ( next-error )
  • M-g M-p ( previous-error )

などでマッチした行に
ジャンプしてください。

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてorg-seekを使う方は
以下のコマンドを実行します。

M-x package-install org-seek

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name org-seek

<2017-01-16 月>ripgrep日本語対応

(setq org-seek-search-tool 'ripgrep)

の設定を加えると
ripgrep(rg) で検索してくれます。

<2017-01-08 日>の時点(0.3.2)では
日本語を含む正規表現で動作しなかったripgrepですが
0.4.0では動作するようになりました。

agよりも数倍高速ですので
ripgrep.el とともにインストール推奨です。

Windowsバイナリもあります。

$ rg --version
ripgrep 0.4.0

実行例

たとえば、
M-x org-seek-headlinesを
実行したら、

このように見出しのみを
表示してくれます。

-*- mode: ag; default-directory: "~/sync/memo/wp/rubikitch/" -*-
Ag started at Sun Jan  8 12:21:37

ag --file-search-regex .\*.org --nocolor --line-number --smart-case --nogroup --column -- \^\(\\\*\)\+.\*ripgrep .
1502090701.helm-ag.org:83:1:** <2016-10-05 Wed>ripgrep対応
1610020827.ripgrep.org:21:1:*ripgrep.el* は、超高速grepこと[[https://github.com/BurntSushi/ripgrep][ripgrep(rg)]] のEmacsインターフェースです。
1610020827.ripgrep.org:37:1:** ripgrepとは
1610020827.ripgrep.org:49:1:** ripgrepをインストールする
1610020827.ripgrep.org:127:1:** 設定 [[http://rubikitch.com/f/161002090545.ripgrep.el][161002090545.ripgrep.el(以下のコードと同一)]]

Ag finished at Sun Jan  8 12:21:37

本サイト内の関連パッケージ


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。