まずはこちらの動画をどうぞ。(特に24〜29秒辺り)
- テキストを選択
- 同時に変更したい箇所を追加
- テキストを編集すると・・
- 選択した箇所も一緒に書き換えてくれる!!
が出来るようになります。変数名の一括変換に便利です。
インストール
MELPAに登録されているので package.el を使います。
M-x package-list-packages
を実行後・・
mark-multiple
を選択
package.el のインストール方法はコチラをどうぞ。
.emacs.d/init.el
基本はデフォルト設定のままですが、rename-sgml-tagをhtml-modeで使えるようにしています。
sgml-modeを使っている人はデフォルト設定を使うといいです。
;; mark-multiple (require 'inline-string-rectangle) (global-set-key (kbd "C-x r t") 'inline-string-rectangle) (require 'mark-more-like-this) (global-set-key (kbd "C-<") 'mark-previous-like-this) (global-set-key (kbd "C->") 'mark-next-like-this) ;; (global-set-key (kbd "C-M-m") 'mark-more-like-this) ; like the other two, but takes an argument (negative is previous) (global-set-key (kbd "C-*") 'mark-all-like-this) ;; (add-hook 'sgml-mode-hook ;; (lambda () ;; (require 'rename-sgml-tag) ;; (define-key sgml-mode-map (kbd "C-c C-r") 'rename-sgml-tag))) (add-hook 'html-mode-hook (lambda () (require 'rename-sgml-tag) (define-key html-mode-map (kbd "C-c C-r") 'rename-sgml-tag)))
キーバインド
- C-<
- 選択範囲にマッチする次の部分をマーク
- C->
- 選択範囲にマッチする前の部分をマーク
- C-*
- 選択範囲にマッチする全ての箇所をマーク
おまけ、選択範囲をインタラクティブに広げる expand-region
動画だとC-@ キーで選択範囲を作成していますが、これは expand-region というelispで実現されています。興味がある人は以下のリンクからどうぞ。
参考文献
おわりに
この記事はEmacs Advent Calendar 2012の5日目でした。
まだまだ募集中のようですので、是非参加を!!