anything-c-moccurにパターンを元にquery-replace-regexpを起動するコマンドを追加
いつもコピーしてC-M-%打っていたのでコマンドにしてみました。
デフォルトだとanything-c-moccur-occur-by-moccur起動中にC-M-%にバインドされます。
あと、パターン入力中に使われるsyntax-tableをanything-current-bufferのsyntax-tableに変更しました。
anything-c-moccurのquery-replace-regexpのコードはこんな感じです。
(defun anything-c-moccur-query-replace-regexp () (interactive) (lexical-let ((input-re (minibuffer-contents)) (cur-point (first anything-current-position))) (setq anything-saved-action (lambda (dummy) (let ((to-string (read-from-minibuffer "to: " input-re))) (unwind-protect (perform-replace input-re to-string t t nil nil nil (point-min) (point-max)) (goto-char cur-point))))) (anything-exit-minibuffer)))
やっぱりクロージャーレキシカルスコープって便利っすね。
2008/09/08 追記
クロージャー -> レキシカルスコープ