もし間違えたら、普通は 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 することは不可能です。
トレイルを使えば過去の結果を呼び戻すことができます。 これまで我々はトレイルを無視してきましたが、 それは Calc をロードしてからの全ての行いを正確に記録してきました。 もしトレイルが表示されていなければ、今 t d を押せば表示されます。
以前の結果を回収してみましょう。計算結果の 8 は U コマンド でアンドゥされて、* を押したときには redo すらできなくなりましたが、 トレイルにはまだ残っています。最後のトレイル項目には 小さな矢 `>'(トレイルポインタ)が留まっているはずです。 もし無ければ、t ] と打っ てトレイルポインタを再設定してください。さてここで、t p と打っ てポインタを動かし、8 がある行に持っていってください。そして t y と打つと、その数値がスタック上に「ヤンク」されます。
もう一度 t ] を打つと、たった今のヤンクもトレイルに取りこまれて表 示されます。
さらに過去をさかのぼって見ましょう。チュートリアルの初期に、我々は式 `2^3^4' を使って巨大整数を計算しました。その値は覚えていませんが最 初の数桁は「241」でした。t r(trail-search-reverse) と打って、次に 241 とタイプしてください。トレイルカーソルは一つ前に発生した「241」 まで戻ります。これは単に普通の Emacs インクリメンタルサーチです。今や C-s か C-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.
利用度数