- org-seek 20161216.2102(in MELPA)
- Searching Org-mode files with search tools.
概要
org-mode専用の
高速全文検索・見出し検索が
欲しいですか?
それならば
org-seek.el を使ってみてください。
org-seek.elは
以下の高速検索プログラムを使って
ディレクトリ内のorgファイルから
検索してくれます。
デフォルトはagです。
実際は
対応するEmacsインターフェース
- ag.el
- ripgrep.el
- pt.el
をorg-mode専用に
ラップしているだけなので
org-seek.elのコード自体は短いです。
org-seek.elは3つのコマンドを用意しています。
- M-x org-seek-string
- 全文検索
- M-x org-seek-regexp
- 全文正規表現検索
- M-x org-seek-headlines
- 見出しのみ検索
どのコマンドも
- 検索クエリ
- 検索対象ディレクトリ
を順番に尋ね、
対応する検査ツールで
結果を表示してくれます。
あとは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
ripgrep日本語対応
(setq org-seek-search-tool 'ripgrep)
の設定を加えると
ripgrep(rg) で検索してくれます。
日本語を含む正規表現で動作しなかった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
本サイト内の関連パッケージ
- ag - A front-end for ag ('the silver searcher'), the C ack replacement.
- ripgrep - Front-end for ripgrep, a command line search tool
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。