emacs wgrep.el : *grep*や*ag*バッファを編集してその結果をファイルに反映させる凄技 | MELPA Emacs Lisp Elisp パッケージ インストール 設定 使い方 スクリーンショット
パッケージ名 | wgrep |
概要(原文) | Writable grep buffer and apply the changes to files |
リポジトリ | MELPA |
取得先 | https://github.com/mhayashi1120/Emacs-wgrep |
バージョン | 20141016.1656 |
関連記事 | package:wgrep package:ag package:wdired package:helm |
wgrep.el は、 M-x grep や M-x ag の結果を編集して その結果をファイルに反映させるものです。
これで複数のファイルにわたる置換も楽勝でできます。
wdired はdiredの編集結果をファイル名に反映させるように、 wgrep はgrepの編集結果をファイル内容に反映させます。
使い方は簡単です。
- M-x grep
- eでwgrep-modeにする
- *grep*バッファを編集する
- C-c C-c (C-x C-s)でファイルに反映!
C-c C-kで編集を破棄します。
この設定では*grep*編集後にファイルに反映させたら即保存しています。
パッケージwgrepには、 wgrep-ag.el 、 wgrep-pt.el 、 wgrep-ack.el 、 wgrep-helm.el も同梱されているので、 M-x ag の結果なども編集できます。
このパッケージはmelpaにあるので パッケージの初期設定 を行ってください。
M-x package-refresh-contents M-x package-install wgrep
wgrep.el は、 M-x grep や M-x ag の結果を編集して その結果をファイルに反映させるものです。
これで複数のファイルにわたる置換も楽勝でできます。
wdired はdiredの編集結果をファイル名に反映させるように、 wgrep はgrepの編集結果をファイル内容に反映させます。
使い方は簡単です。
- M-x grep
- eでwgrep-modeにする
- *grep*バッファを編集する
- C-c C-c (C-x C-s)でファイルに反映!
C-c C-kで編集を破棄します。
この設定では*grep*編集後にファイルに反映させたら即保存しています。
パッケージwgrepには、 wgrep-ag.el 、 wgrep-pt.el 、 wgrep-ack.el 、 wgrep-helm.el も同梱されているので、 M-x ag の結果なども編集できます。
;;; 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
http://rubikitch.com/f/20140913054555.png Fig1: wgrepで編集(反映直前)