ez-query-replace 20170311.139(in MELPA)
a smarter context-sensitive query-replace that can be reapplied

概要

ez-query-replace.el は、デフォルトの query-replace (C-M-%)を少しばかり賢くしたパッケージです。

M-x ez-query-replace は置換対象文字列を以下のようにして、使いやすくしています。

  • regionを指定してある場合はregionが置換対象文字列
  • regionがない場合は現在のシンボルが置換対象文字列

M-x ez-query-replace-repeat は過去の置換履歴をたどって同じ置換をします。

本設定ではC-u C-M-%でez-query-replace-repeatを起動させるようにしています。

標準のC-M-% の挙動に不満を持っているならば、入れておくといいです。

visual-regexp(レビュー) を使っている方は M-x vr/query-replace をM-%に割り当てているかもしれませんが、
両方使いたい人はどちらかのキーバインドを移動させてください。

シンボル置換に特化したパッケージはreplace-symbol.elhighlight-symbol.el があります。

お好みで。

20160910052728.png
Fig1: デフォルトの置換文字列が設定される

20160910052738.png
Fig2: 後は通常のM-%と同じように操作する

インストール

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

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

M-x package-install ez-query-replace

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

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

設定 160910051731.ez-query-replace.el(以下のコードと同一)

(defun my-ez-query-replace (repeat)
  (interactive "P")
  (funcall (if repeat 'ez-query-replace-repeat 'ez-query-replace)))
(define-key global-map (kbd "M-%") 'my-ez-query-replace)

実行方法

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