wgrep 20141016.1656(in MELPA)
Writable grep buffer and apply the changes to files

概要

wgrep.el は、 M-x grepM-x ag の結果を編集して
その結果をファイルに反映させるものです。

これで複数のファイルにわたる置換も楽勝でできます。

wdired はdiredの編集結果をファイル名に反映させるように、
wgrep はgrepの編集結果をファイル内容に反映させます。

使い方は簡単です。

  1. M-x grep
  2. eでwgrep-modeにする
  3. *grep*バッファを編集する
  4. C-c C-c (C-x C-s)でファイルに反映!

C-c C-kで編集を破棄します。

この設定では*grep*編集後にファイルに反映させたら即保存しています。

パッケージwgrepには、 wgrep-ag.elwgrep-pt.el
wgrep-ack.elwgrep-helm.el も同梱されているので、
M-x ag の結果なども編集できます。

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.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/")))

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

M-x package-install wgrep

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

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

設定 140913054041.wgrep.el(以下のコードと同一)

;;; eでwgrepモードにする
(setf wgrep-enable-key "e")
;;; wgrep終了時にバッファを保存
(setq wgrep-auto-save-buffer t)
;;; read-only bufferにも変更を適用する
(setq wgrep-change-readonly-file t)

実行方法

$ wget http://rubikitch.com/f/140913054041.wgrep.el
$ emacs -Q -f package-initialize -l 140913054041.wgrep.el

20140913054555.png
Fig1: wgrepで編集(反映直前)

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


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