undo-tree.el の導入

今更ながら、一時期 gnu-emacs-sources で話題になっていた undo-tree.el を導入してみました。
undo の履歴を木構造としてもって、それを辿る事ができる elisp です。かなり便利です。

ダウンロード

git リポジトリから undo-tree.el を取得します。

git clone http://www.dr-qubit.org/git/undo-tree.git undo-tree

undo-tree.el が取得できるだけなので、時間は全然かかりません。

設定


undo-tree.el を load-path の通った場所に置き、以下の設定をするだけで完了です。

(require 'undo-tree)
(global-undo-tree-mode)

使う

普通に undo (C-/ や C-_) をして、C-g を押した後に undo をして redo (追記: redo は、C-? や M-_になるぽみたいです。)などをすれば良いです。
普通に undo (C-/ や C-_) をしたり、redo (C-? や M-_)をしたりすれば良いです。
undo をしている時に木構造の枝にあたる部分にあたったとき、以下のようなメッセージが出ます。

Undo branch point!

と出たときに、M-x undo-tree-switch-branch をしてやれば、辿る枝を変更できます。
ただ、C-x u (undo-tree-visualize) を押して、undo の履歴を可視化して undo (redo) を行った方がはるかに分かり易いので、おすすめです。
C-x u をすると、新しくバッファが表示され、以下のような木構造が表示されます。

x が現在地です。上に行く程古い変更を辿る事になり、下に行くほど新しい変更を元に戻す事となります。
これは、p や n キーで undo の履歴を辿る事ができ、辿ると同時にその undo (redo) が適用されます。
また、木の枝を切り替える場合は、f や b キーを押せば切り替える事ができ、非常に分かり易いです。
undo-tree-visualize を終了する場合は、q を押せば良いです。



1つ問題点をあげると、それは undo の履歴が大きくなると、C-x u(undo-tree-visualize) を押してから表示されるまでに少し時間がかかるようになってしまうという事ぐらいでしょうか。
何にせよおすすめです。
その他詳しくは、undo-tree.el の頭に長々と書いてあるので目を通してみると良いと思います。


そんなこんなで。

更新時刻

  • 2010/01/23/17:30
  • 2010/01/24/01:12
  • 2010/01/24/23:40