2007/08/23
Emacs で Undo できる回数が少ない
Emacs 22.1 にアップデートしてから No further more undo information と怒られて、泣く泣く kill-ring から削除したコードを復旧することがあるのですが、どうも Emacs は無限 Undo をサポートしていないみたいです。できるかもしれませんが、少なくともデフォルトではできない雰囲気です。で、調べたら undo-limit と undo-strong-limit 変数を大きめに設定してやればいいみたいです。
(setq undo-limit 100000) (setq undo-strong-limit 130000)
デフォルトの 10 倍ぐらいのバッファサイズにしたからたぶんこれで大丈夫のハズ。
ちなみに VC で checkin すると Undo 記録が消えて悲しいことになってしまうらしいので以下のようにしておくといいらしい(ひげぽんの日記経由)。
(add-hook 'vc-checkin-hook '(lambda () (setq buffer-undo-list vc-temp-undo-list))) (add-hook 'vc-before-checkin-hook '(lambda () (setq vc-temp-undo-list buffer-undo-list)))
ちなみに vc-svn は psvn に比べると格段に遅いので以下のような設定にすることを勧めておきます。
(setq vc-dired-recurse nil)
あとは commit 時に *** empty log message *** になんていうログが勝手に入ってくれなければ幸せなんですけど、どうもこれハードコードされているようで…
- Category(s)
- emacs
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/matsuyama/emacs-undo-limitation/tbping