Elisp を書くときは必須な Emacs の正規表現ですが,バックスラッシュが多すぎて使いにくいと思う人も多いのではないでしょうか.インクリメンタルサーチや置換程度の作業で,このややこしい正規表現を使うのは少々面倒です.Perl や Ruby,JavaScript の正規表現に慣れ親しんでいる人は,それらの正規表現 Emacs の検索や置換を行いたいと思うことがあるでしょう.
それを可能にしてくれるのが foreign-regexp.el です.インストール方法は以下の通り.
- foreign-regexp.el をロードパスの通ったところに置く (MELPA を利用できるなら M-x list-packages からインストール可)
- .emacs に以下を記述
(require 'foreign-regexp)
(custom-set-variables
'(foreign-regexp/regexp-type 'ruby) ; perl や javascript も指定可能
'(reb-re-syntax 'foreign-regexp))
これで Ruby の正規表現を利用した検索・置換が行えるようになります.詳しい使い方や正規表現の例は こちら を参考にしていただくとして,基本的なコマンドに以下のようなものがあります.
- M-s M-o REGEXP: Ruby の正規表現 REGEXP に一致する行を occur インターフェイスで表示
- M-s M-%: Ruby の正規表現で置換
- M-s M-s: Ruby の正規表現でインクリメンタルサーチ
- M-s M-l: Ruby の正規表現で re-builder