2007年9月13日木曜日

Emacsで複数のウィンドウを開いた状態を記憶しておき、いつでも復元できるようにする

 例えば、Aとういう作業をしていて、そのAの作業が複数のウィンドウを開いてする作業で、それぞれのウィンドウは自分に使いやすい様に微妙なサイズで開かれている。そして、一旦Aの作業を中断して別のBという作業をしなければいけなくて、新規にBのためのウィンドウを開いて作業し、作業が終わって、Aの作業に戻るとき、いちいち複数開いていたウィンドウを開きなおし、サイズも一つ一つ微調整しなければならない。
 これははっきり言ってかなり面倒です。そこで、ウィンドウの状態を記憶させておき、その状態に素早く復帰できる機能があれば、複数のプロジェクトをスイッチを切り替えるがごとく素早く行ったり来たり出来ます。
 複数のウィンドウ状態を維持して作業している人には超お薦めです。

window.elを使います。標準で入っていると思いますが、入っていない場合は、
sudo apt-get install emacs-goodies-el
として導入し、~/.emacsに以下を追記します。
;;====================================
;;; 分割したウィンドウ状態を保存・復元する
;;===================================
;; デフォルトは C-c C-w
(require 'windows)
;; 新規にフレームを作らない
(setq win:use-frame nil)
(win:startup-with-window)
(define-key ctl-x-map "C" 'see-you-again)

使い方

 例.
 別のウィンドウを作りたいときは、C-c C-w 2 と押すと、下のエコー領域にスクリーンショットのようにメニューが出ますので、C を押します。

すると新たに新規ウィンドウが作成され、モード行の右側に [2] と表示されます。
 以前のウィンドウに戻りたいときは、C-c C-w 1 と押せば、以前のウィンドウ状態に復帰できます。

0 件のコメント: