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


スタック項目の編集

バッククォート ` (calc-edit) は、 テンポラリ・バッファ(`*Calc Edit*')を開いて、 スタック top の内容を通常 Emacs コマンドで編集できるようにします。 数値接頭引数を付けると、指定した数(複数)のスタック項をまとめて編集できます。 (ゼロの接頭引数では、スタック全体を編集します。 負の接頭引数では、指定したレベルのスタック項目を編集します。)

編集が済んだら、M-# M-# を押して終了し Calc に戻ります。 多くの場合、RETLFD でも編集を終らせる事ができますが、 編集バッファに改行が挿入される可能性がある場合には、 Calc は RET を本来の意味(改行の挿入)のままにします。 Emacs の伝統的な終了キー・シーケンスである C-c C-c も、 編集終了コマンドとして使えます。 キーボードにもよりますが、たぶんこちらの方がタイプしやすいでしょう。

編集終了時に、 Calc は `*Calc Edit*' バッファ内のテキスト行を数値や式として解析し、 元のバッファにある編集前のスタック要素を更新し、 それから `*Calc Edit*' を消します。 元のバッファは編集途中でも存在し続けますが、 編集終了までは変更しないように注意を払うべきです。 編集をキャンセルする場合は M-# x を押します。

式はスタックに置かれたときのように再評価されます。 例えば、 `a + 2'`3 + 2' に編集して M-# M-# を押すと、 スタックには 5 が置かれます。 LFD で編集終了した場合は、編集結果が再評価なしにスタックに置かれます。

M-# M-# (または C-c C-c)に接頭引数を付けると、 `*Calc Edit*' バッファは消されず残ります。 必要ならバッファに戻って編集を続けることができます。 しかしこのとき、` で編集を始めたからには、 M-# M-# 操作でスタック top の値が新たに編集した値に置換えられるので、 それまでにスタックを操作してあっても上書きされてしまうことを 理解していなければなりません。 この問題は、他の s e (calc-edit-variable; その他の変数操作 参照 ) のような編集コマンド群では 大した問題ではありません。

calc-edit コマンドで複数のスタック項目を編集する場合、 `*Calc Edit*' バッファの各行はそれぞれ独立な式に解釈されます。 それ以外の場合は、改行が無視されバッファ全体が単独の式として解釈されます。 (RET を使わずに、 C-oC-q C-j を使って改行を挿入することができます。)

` は数値入力や代数的入力の最中でも機能します。 それまでに入力されたテキストが *Calc Edit* バッファに移動され、 ミニバッファ内部でやるより広範囲の編集が楽になります。


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