いったんサブ数式をセレクションした後で、それを
j m (calc-select-more
) コマンドで拡大することができます。
`a + b' がセレクションされていたら、
j m を繰返し押すと次のように変化していきます。
3 ... 3 ___ 3 ___ (a + b) . . . (a + b) + V c (a + b) + V c 1* ............... 1* ............... 1* --------------- . . . . . . . . 2 x + 1
最後の例で、式全体がセレクションされています。 これはセレクションしていないのとほとんど同じですが、 微妙な違いがあるので、スタックレベル番号には `*' 記号が付いたままです。
j m に数値接頭引数 n を付けると、 セレクション範囲は n 回分 (または式全体がセレクションされるまで)拡大します。 ちなみに j s に引数 n を付けると、 素の j s の後で引数 n 付きの j m を実行するのと同等です。 セレクションの無い時に j m を使うのは、 j s を使うのと同等です。
j m は式の中におけるカーソル位置を明示的には使いませんが、 それでもどのスタック要素に作用すべきか決定するためにカーソル位置を見ています。 いつものように、カーソルがスタック要素の上に無い時はスタック top に作用します。
j l (calc-select-less
) コマンドは、
現在のセレクションをカーソル位置の周りに縮小します。
すなわちそれは j m の逆で、
現在のセレクションより 1レベル小さく
かつカーソル位置を含むサブ数式をセレクションします。
もし現在のセレクション範囲内にカーソルが無かったら、
セレクションは解除されます。
j 1 〜 j 9 (calc-select-part
) コマンドは、
現在のセレクションの n 次サブ数式をセレクションします。
それらは j l (calc-select-less
) に似ていますが、
セレクションすべきサブ数式を決定するのに、
カーソルポジションではなく順番を使います。
例えば、現在のセレクションが
a + b + c や f(a, b, c) や [a, b, c] であれば、
j 1 は `a',
j 2 は `b',
j 3 は `c' をセレクションします。
j 4 〜 j 9 はエラーになります。
セレクションが無い場合は、j 1 〜 j 9 は top の n 番目の
サブ数式をセレクションします。
(つまり、あらかじめスタック項全体がセレクションされていたかのように振舞います。)
10番目以降のサブ数式をセレクションするには、
n を数値接頭引数として j 1 を使います。
(訳注: 別に j 4 とかでも効くようだ。接頭引数のほうが優先される。)
j n (calc-select-next
) コマンドと
j p (calc-select-previous
) コマンドは、
現在の範囲から同レベルの前後のサブ数式にセレクションが移ります。
例えば `2 + a*b*c + x' で、
今 `b' がセレクションされているとすると、
j n で `c' に移ります。
さらにもう一度 j n コマンドを実行するとエラーになります。
`c' の右には何か(つまり `x' が)ありますが、
`c' とはレベルが異なる
(この場合、`x' は `b' や `c' と同一の積の因数ではない)
からです。
しかし、j m (積 `a*b*c' の全体をセレクションする) としてから
j n を使えば、うまく `x' をセレクションできるでしょう。
同様に j p とすれば、この例の場合、 セレクションは `b' から `a' に移ります。 両コマンドとも、数値接頭引数を付けると、 一度に何ステップか動かすことができます。
Calc のセレクションコマンド群と
Emacs Info システムの階層ナビゲーションコマンド群を比べると面白いです。
Calc の j n コマンドは Info の n コマンドによく類似しています。
同様に j p は p に対応し、
j 2 は 2 に対応し、u は j m に類似しています。
(注: j u は calc-unselect
に由来していて、"up" ではありません。)
Info の m コマンドは Calc の j s や j l にちょっと似ていて、
どちらもカーソルで指定することにより階層の下位に直接ジャンプします。
Go to the first, previous, next, last section, table of contents.
利用度数