- narrow-indirect 20170307.921(in MELPA)
- Narrow using an indirect buffer that is a clone
概要
narrow-indirect.el は、 ナローイング を
間接バッファ で行うものです。
ナローイングとは、テキストの一部のみを表示するもので、
編集操作をその部分に限定できます。
一方、間接バッファとは、元のバッファと同じ内容で
編集操作が元のバッファと連動している、
いわばバッファの別名のようなものです。
これらを組み合わせることでナローイングを戻す
C-x n w (widen) を使う必要はなく、
ただ間接バッファを削除するだけで済みます。
大きいバッファのうち、2箇所を編集する場合に
2つの間接バッファを作成しておけば、
あたかも複数のファイルであるかのように扱えます。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.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/")))
初めてnarrow-indirectを使う方は
以下のコマンドを実行します。
M-x package-install narrow-indirect
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name narrow-indirect
別のメジャーモードにしたければedit-indirectを
元のバッファと間接バッファは別のメジャーモードが持てます。
しかし、テキストプロパティは共有されるので
間接バッファでメジャーモードを変更すると
元のバッファの font-lock による色付けも変わってしまいます。
色付けを戻すには、2回 M-x font-lock-mode を実行する必要があります。
こういう特徴があるので、edit-indirect.elは
できれば同じメジャーモードで使った方がいいです。
よって、JavaScriptやCSSが含まれているHTMLを編集するには、
色付けの問題が起こるので、edit-indirect.el(レビュー) を使いましょう。
Fig1: C-x 4 n d後。上:元のバッファ / 下:ナローイング間接バッファ
設定 150107045754.narrow-indirect.el(以下のコードと同一)
;;; 作者推奨キーバインド (define-key ctl-x-4-map "nd" 'ni-narrow-to-defun-indirect-other-window) (define-key ctl-x-4-map "nn" 'ni-narrow-to-region-indirect-other-window) (define-key ctl-x-4-map "np" 'ni-narrow-to-page-indirect-other-window) ;;; いっそのこと置き換えてもいいかもしれない ;; (define-key ctl-x-map "nd" 'ni-narrow-to-defun-indirect-other-window) ;; (define-key ctl-x-map "nn" 'ni-narrow-to-region-indirect-other-window) ;; (define-key ctl-x-map "np" 'ni-narrow-to-page-indirect-other-window)
実行方法
$ wget http://rubikitch.com/f/150107045754.narrow-indirect.el $ emacs -Q -f package-initialize -l 150107045754.narrow-indirect.el
本サイト内の関連パッケージ
- edit-indirect - Edit regions in separate buffers
- fancy-narrow - narrow-to-region with more eye candy.
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。