[xyzzy:02704] Re: sorry ()
- Subject: [xyzzy:02704] Re: sorry ()
- From: HANAWA Yoshio <hanawa@xxxxxxxxxxxxxxxxxx>
はなわです。
> > > SPC か何かを適当に打ち込んで,undo リング(?)か何かをひっくり返して,
> > > 逆向き undo なんていうややスマートでない方法をとってました。
>
> > これ、私も多用してます (^^;
>
> すみませんが、どういうことか、説明していただけるとうれしいのですがm(_ _)m
要するに undo のキーを打って xyzzy でいうところの redo をする、
ということですが、ちょっと説明しにくいです…。 (^^;
(私が触ったことのある)emacs では、 undo を繰り返すと
順に前の状態に戻っていくのですが、undo を繰り返した後で
適当なキーを入力したり、カーソルを移動したりすると
今まで undo を繰り返していたことを忘れてしまいます。
(と私は理解しています)
さらに、emacs では undo 自体も undo の記憶対象になります。
ですから、undo を連続で実行して、カーソル移動などをして、
それから undo を実行すると、直前の undo を undo します。
実際の例を挙げます。
[a] などは a というキーを押したことを、
[(undo)] は undo を実行したことを表すとします。
[a][b][c][d][(undo)][1] と打って、
abc1 という文字列がバッファに残っているとします。
(ここまでは xyzzy も同じです)
ここで [(undo)][(undo)][(undo)] と打つと、バッファの内容は
abc1 --> abc --> abcd --> abc と変化します。
d の後に実行した undo を 1回目の undo と数えると、
2回目の undo で 1 を打ったことを戻したわけですが、
3回目の undo は 1回目に undo したことを戻します。
xyzzy では最初に [a][b][c][d][(undo)][1] と打った時点で
undo 用の履歴は [a][b][c][1] となっていると思います。
ですから、同じように undo を実行すると
abc1 --> abc --> ab --> a と変化します。
最初の話に戻ります。
undo を繰り返してかなり前の状態に戻りたいとき、
undo をやりすぎてしまうことがあります。
xyzzy ならば redo すればいいわけですが、
emacs ではどうやるのが正しいのか知りません。 (^^;
そこで、私は undo が undo できることを使って、
カーソルを移動(なり適当なキーを押すなり)
してから undo を実行します。
すいません、説明がへたです (^^;
---- ---- ---- ---- ---- ---- ---- ----
| 東京大学大学院理学系研究科情報科学専攻
| 小柳研究室修士2年
| 塙 与志夫 (HANAWA Yoshio)
| mailto: hanawa@xxxxxxxxxxxxxxxxxx