- multifiles 20130615.1433(in MELPA)
- View and edit parts of multiple files in one buffer
概要
今度は linked-buffer.el とは逆に、
複数のバッファを1つのバッファにまとめて編集する方法です。
複数のファイルを同時に編集・参照する必要がある場合には、
1つのバッファで統合した方がよいこともあります。
統合することで単一バッファが対象のコマンドを使って
複数のファイルを編集できるからです。
- isearch
- M-x occur
- M-x helm-occur
- M-% (query-replace)
特に多数の小さいファイルを編集するときに有効です。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.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/")))
初めてmultifilesを使う方は
以下のコマンドを実行します。
M-x package-install multifiles
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name multifiles
設定 140906052848.multifiles.1.el(以下のコードと同一)
(require 'multifiles) (global-set-key (kbd "C-!") 'mf/mirror-region-in-multifile) (defadvice mf/mirror-region-in-multifile (before no-region (s e &optional buf) activate) "regionを指定していない場合はバッファ全体を対象にする" (unless (region-active-p) (setq s (point-min) e (point-max))))
実行方法
$ wget http://rubikitch.com/f/140906052848.multifiles.1.el $ emacs -Q -f package-initialize -l 140906052848.multifiles.1.el
regionを指定して M-x mf/mirror-region-in-multifile を実行すれば、
その部分が*multifile*バッファにコピーされます。
それを必要な分だけ繰り返してください。
編集が終わったら、*multifile*バッファでC-x C-sすれば
全ファイルに編集結果が反映されます。
なお、そのままだと使いづらいので、regionを指定しない場合は
バッファ全体を対象にするようアドバイスを加えました。
Fig1: 左:元のファイル 右:まとめたバッファ
Fig2: まとめたバッファを編集するとオリジナルに反映される!C-x C-sで保存!!
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。