キー操作の記録/再生

■ 概要

 キー操作の記録/再生の機能を使えば、ある一連のキー操作を何回も行なうような場合、 その1回分の操作を記録しておいて、2回目以降は、その記録の再生だけで、 反復させることができます。

 例えば、「行頭の3文字を切り取って行末に貼り付ける」というキー操作を、何回も行ないたい 場合には、まず、その1回分の操作を、初期環境では、次のようにして記録します。

 ・キー操作の記録開始
 ・Home(行頭へ移動)
 ・Shift+→ 3回(3文字を選択)
 ・Ctrl+X(選択範囲を切り取り)
 ・End(行末へ移動)
 ・Ctrl+V(貼り付け)
 ・↓(下行へ移動)
 ・ESC(キー操作の記録終了)
次に、このキー操作を再現したい行へカーソルを移動して、キー操作記録の再生 (初期環境では、Ctrl+E キー押下)を行なえば、同操作が再現されます。 その操作を行ないたい行が連続している場合は、Ctrl+E をその行数回押します。

■ キー操作の記録

 キー操作の記録は、初期環境では、メインメニューの「ツール」内の「キー操作の記録開始」を 実行すると、開始されます。 キー操作の記録中、編集ウィンドウのタイトルバーは、その状態を示す表示になります。 キー操作の記録を終了するには、ESC キーを押します。

 キー操作の記録は、KeyRecord.mc という MikoScript で行ないます。 このスクリプトは、文字入力の場合以外、あくまでキー操作そのものを記録します。 つまり、キー操作の結果として実行されるコマンドを記録しているわけではありません。 このキー操作の記録には、Shift, Ctrl, Alt キーの併用状態も含まれます。 そのため、例えば、Shift+矢印キー で、範囲選択しながら、カーソル移動するような操作も 記録することができます。
 一方、このスクリプトは、文字入力の場合、それがIME(かな漢字変換等)経由か否かに 関わらず、文字列の入力として記録します。

 このスクリプトで記録されるのは、編集テキスト上で直接的に行なわれたキー操作のみで、 ダイアログボックスやサブメニュー表示中のキー操作は記録されません。 また、マウスの操作も記録されません。

 現状、あるスクリプトの実行中に、もう1つ別のスクリプトを並行して実行する ことはできません。本キー操作の記録は、スクリプトで実行しているので、 本キー操作の記録中に、別のスクリプトを起動することはできません。

 キー操作の記録内容は、本エディタ用の MikoScript のグローバルスコープ内の所定の箱に 保存されます。この箱は、本エディタが終了するまで存続します。 キー操作の記録内容を、永続的に保存したい場合は、スクリプトのソースとしてファイルに 保存する必要があります。これに関しては、後述します。

■ キー操作記録の再生

 記録されたキー操作の再生(再現)は、KeyReplay.mc という MikoScript で行ないます。 このスクリプトの起動は、初期環境では、
   Ctrl+E キー
に割り当てられています。また、メインメニューの「ツール」内の「キー操作記録の再生」でも 行なえます。

 このキー操作記録の再生は、あくまで、キー操作の再現です。これには、Shift, Ctrl, Alt キーの 併用状態も含まれます。そのため、例えば、前述のように、Shift+矢印キー で、範囲選択しながら、 カーソル移動するような操作も再現できます。但し、キーに割り当てられた機能は、 キー操作を記録した環境と、キー操作を再生する環境で、同じでないといけません。
 文字入力に関しては、キー操作から再現するのではなく、記録されている文字列を 直接入力します。

 このキー操作記録の再生で行なわれた編集結果は、1回の Undo で、元に戻すことができます。

■ キー操作記録のスクリプトとしての表示/保存

 記録されたキー操作の内容は、MikoScript のソースプログラムとして、 スクリプトのコンソールウィンドウに出力することができます。 それには、初期環境では、メインメニューの「ツール」内の「キー操作記録の表示」を 実行します。この機能は、KeyScript.mc という MikoScript で実現しています。

 スクリプトコンソールウィンドウに出力されたソースプログラムを、 適当なファイル( 拡張子は通常 .mc )に保存しておけば、随時、スクリプトとして 実行することができます。また、このテキストの編集によって、 その実行内容を任意に変更することができます。

■ キー機能の割り当て一覧表示

 現編集テキストに適用されている環境で、各キーに割り当てられている機能は、 スクリプトコンソールウィンドウに一覧表示することができます。 それには、初期環境では、メインメニューの「ツール」内の「キー機能一覧」を 実行します。これは、KeyFuncs.mc という MikoScript で実現しています。