Go to the first, previous, next, last section, table of contents.


アンドゥ(Undo) と リドゥ(Redo)

もし間違えたら、普通は shift-U を押すと戻せます("undo" コマンド)。 この実習のためには身ぎれいな状態から出直しましょう。まず、スタックを御破 算(M-0 DEL)しCalcを再起動(M-# M-# M-# M-#)してください。

タイムマシン

さて、

1:  2          2:  2          1:  8          2:  2          1:  6
    .          1:  3              .          1:  3              .
                   .                             .

   2 RET           3              ^              U              *

何回でも undo できます。CalcはCalcウィンドウが開かれてからの完全な操作記 録を保持しています。上の例の後、次のようにタイプすると、

1:  6          2:  2          1:  2              .              .
    .          1:  3              .
                   .
                                                             (error)
                   U              U              U              U

D を打つと、間違って undo してしまったコマンドを"redo(やり直し)" できます。

    .          1:  2          2:  2          1:  6          1:  6
                   .          1:  3              .              .
                                  .
                                                             (error)
                   D              D              D              D

6 は undo コマンド以外の理由で置かれたので、そこから先は redo で きません。

undo と redo は「タイムマシン」と見なすことができます。 U を押すと時間を遡り、D で下ります。 もしあなたが過去へ行ってそこで何か(* みたいな事を)したら、 SF読者が知っているように、あなたは未来を変えてしまったのです。 あなたは元の未来には帰れません。 従って、たとえ6 以前に undo コマンドが使われていても、 そこを超えて redo することは不可能です。

トレイル(Trail)

トレイルを使えば過去の結果を呼び戻すことができます。 これまで我々はトレイルを無視してきましたが、 それは Calc をロードしてからの全ての行いを正確に記録してきました。 もしトレイルが表示されていなければ、今 t d を押せば表示されます。

以前の結果を回収してみましょう。計算結果の 8U コマンド でアンドゥされて、* を押したときには redo すらできなくなりましたが、 トレイルにはまだ残っています。最後のトレイル項目には 小さな矢 `>'(トレイルポインタ)が留まっているはずです。 もし無ければ、t ] と打っ てトレイルポインタを再設定してください。さてここで、t p と打っ てポインタを動かし、8 がある行に持っていってください。そして t y と打つと、その数値がスタック上に「ヤンク」されます。

もう一度 t ] を打つと、たった今のヤンクもトレイルに取りこまれて表 示されます。

さらに過去をさかのぼって見ましょう。チュートリアルの初期に、我々は式 `2^3^4' を使って巨大整数を計算しました。その値は覚えていませんが最 初の数桁は「241」でした。t r(trail-search-reverse) と打って、次に 241 とタイプしてください。トレイルカーソルは一つ前に発生した「241」 まで戻ります。これは単に普通の Emacs インクリメンタルサーチです。今や C-sC-r を押して前方後方に自由に検索を続けることができま す。

検索をやめるには RET を押します。するとインクリメンタルサーチが止 まり、トレイルポインタは発見場所にとどまります。ここで t y と打つ と、そこの数値をスタックにヤンクします。もし「241」も覚えていなければ、 単純に 2^3^4 を検索してから RET t n と打てば、トレイル ポインタは次の行に移動します。

プリフィックス・キーのヘルプ

トレイル系コマンド群は文字 t ではじまる事にお気づきでしょうか。(こ れに対してストア・リコール系コマンド群は全て s からはじまります。) Calc には非常に多くのコマンド群があるので、1対1に対応させるにはキーが足 りません。そこでいろいろなコマンド群は2文字の綴りにまとめられ、最初の文 字はプリフィックス・キーと呼ばれます。もし誤ってプリフィックス・キー を押してしまったら、C-g を押すことでキャンセルできます。(実際、 Emacs の中では大概の事が C-g でキャンセルできます。) プリフィック ス・キーの help を見るには、そのキーの後に ? を押します。いくつか のプリフィックスは help が一行ではないので、全部読むには ? を繰り 返し押す必要があります。Lucid Emacs ではこれが効かないかもしれませんが、 h h とタイプすれば一度に全て読めます。

t ? と打ってみてください。次のように表示されるでしょう。

trail/time: Display; Fwd, Back; Next, Prev, Here, [, ]; Yank:  [MORE]  t-

「trail」は t というプリフィックス・キーが トレイル 関係のコマンド群 を含むことを示します。各項目が一つのコマンドを表し、その頭文字がそれぞれ のコマンドを呼び出すための文字に対応します。私達はこれまでに t n, t p, t ], そして t y を使いました。`[MORE]' は、 t-プリフィックスのコマンド群はさらにまだ存在して、? をもう一 度押せばそれが見えることを意味します。コマンド群はセミコロンによって大ま かに分類されていることに注意してください。

プリフィックス・キーの help の中では、 そのプリフィックスがすでにアクティブになっています。 何かのキー、例えば y を押せば、t y コマンドを押したことになります。 単に help メッセージを見たいだけならば、 あとで C-g を押してキャンセルしてください。

スタックの編集

間違い修正のもう一つの手段は、スタック内容を編集することです。 現実のスタックバッファはリードオンリーで直接編集してはいけません。 しかし ` (バッククォート)を押せば編集できます。

`3.141439' を入力してみましょう。もしこれが pi を表すと想定されていたら、ちょっと問題ですね。 ` を押してこの数値を編集してください。 普通の Emacs のカーソル移動と編集キーを使って2番目の4を5に直し、 3と9を入れ替えてください。 RETを押したとき、スタック上の数値は入れ直した新しい数値に置き換わります。 この機能は代数式やベクトルなど、スタックに置ける全ての型の値に有効です。 ` キーは数値や代数式を入力している途中でも機能します。


Go to the first, previous, next, last section, table of contents.     利用度数