MSX Datapack wiki化計画

2.5 特殊キーの機能

2.5.1 特殊キーとは

 MSX-DOSで使用するキーには、文字キーの他に特別な機能を持つ「特殊キー」があります。これらのキーを使うことで、MSX-DOSの操作がより簡単になります。
 特殊キーには、[CTRL]、[DEL]、[HOME]、[INS]、[SELECT]などがあります。特殊キーのほとんどは単独で使用されますが、[CTRL]キーだけはそれを押しながら他の文字キーを押して使います。

注意

[CTRL]+文字は、[CTRL]キーを押しながら文字のキーを押すことを表します。

2.5.2 コマンド行の編集機能

1.編集機能
 MSX-DOSには、直前に入力されたコマンド行を記憶し、それを再び実行したり、修正して実行する機能があります。この機能を使用すれば、同じようなコマンドを繰り返し入力する手間を減らすことができます。この記憶されたコマンド行を「テンプレート」といいます。
 図3.7は入力されたコマンド行がどのように記憶され、呼び出されるかを表したものです。


図3.7 コマンド行とテンプレート

 コマンド行の編集に使用される特殊キーの機能を表3.3に示します。1つの機能に複数のキーが割り当てられているときは、どのキーを用いても同じ効果があります。

表3.3 特殊キーの機能

特殊キー機能内容
[→]
[CTRL]+[\]
1字コピー テンプレートからコマンド行へ1文字コピーします。
[SELECT]
[CTRL]+[X]
指定コピーテンプレートからコマンド行へ、指定された文字の直前までの文字をコピーします。
[↓]
[CTRL]+[_]
1行コピーテンプレート内に残っている全ての文字をコマンド行へコピーします。
[DEL] 1字スキップテンプレート内の1文字を飛び越します(コピーしません)。
[CLS]
[CTRL]+[L]
指定スキップテンプレート内の文字を指定された文字の直前まで飛び越します。(コピーしません)。
[↑]
[ESC]
[CTRL]+[^]
[CTRL]+[[]
[CTRL]+[U]
取消現在のコマンド行を取り消します。テンプレートの内容は変更されません。
[INS]
[CTRL]+[R]
挿入挿入モードに入ったり抜け出たりします。
[←]
[BS]
[CTRL]+[H]
[CTRL]+[]]
後退コマンド行から最後の1文字を除去します。
[HOME]
[CTRL]+[K]
新しい行を作るコマンド行をテンプレートにコピーします(新しいテンプレートを作ります)。
[CTRL]+[J]行換えディスプレイの表示のみ改行します。

2.編集機能の使用例
 ここで実際に例を上げてコマンド行の編集機能を解説します。なお、テンプレートに関するキー操作はディスプレイには表示されません。ここではわかりやすくするために、特殊キーを《》で囲んで示します。
 以下のコマンド行は、ファイル「PROG.COM」のファイル情報を表示するものです。このコマンドを入力すると「dir」コマンドの実行とともに、コマンド行がテンプレートに記憶されます。

A>dir prog.com

 もう一度このコマンド行を繰り返すには、↓とリターンキーを使います。↓を押すと、テンプレートがコマンド行にコピーされます。そして、リターンキーを押すとコマンドとして実行されます。

A>《↓》dir prog.com

 次に、ファイル「PROG.MAC」のファイル情報を表示し、続けてその内容を表示しましょう。
 現在、テンプレートには「dir prog.com」と記憶されています。まず、[SELECT]を押し、続いて[C]と押すと、「c」の直前までの文字がコマンド行にコピーされます。これに続けて「mac」と押すと、目的のコマンド行ができあがります。

A>《SELECT》《C》dir prog.
A>dir prog.mac

 ここでリターンキーを押すと、このコマンド行が実行され、今度は「dir prog.mac」がテンプレートに記憶されます。それには次のようにキーを押します。

A>type《INS》 《↓》

 新しく入力された文字は直接コマンド行に入力されます。「dir」とそれに続くスペースの4文字が「type」に変換され、そしてコマンドとパラメータの間に必要なスペースを入れるために[INS]とスペースを入力します。そして、最後にテンプレートの残りの「prog.mac」をコマンド行にコピーします。すると、コマンド行は次のようになります。

A>type prog.mac

 次にコマンド行の編集機能を用いてテンプレートを修正する手順を説明します。ここでは、「type」とするべきところを「byte」と入力してしまったとします。これを修正するには[HOME]キーを使います。[HOME]には現在のコマンド行をテンプレートにコピーし、新しいテンプレートを作る機能があります。[HOME]を押すと新しいテンプレートを作った目印として、コマンド行の末尾に「@」が表示され、カーソルは次の行に移ります。

A>byte prog.mac《HOME》@

 ここで[→]と[↓]を使いテンプレートの内容を修正しながらテンプレートをコマンド行にコピーします。[→]はテンプレートから1文字をコマンド行にコピーする機能を持っています。間違えた「b」を「t」に、さらに「t」を「p」に置き換え、残りを↓でコピーします。

A>byte prog.mac@
《→》yp《↓》e prog.mac

 また、同じことは以下のように[DEL]キーと[INS]キーを用いても可能です。

A>byte prog.mac@
《DEL》《DEL》《→》t《INS》yp《↓》e prog.mac

これを分解すると次のようになります。

タイプ コマンド行意味
《DEL》 1文字目をスキップ
《DEL》 2文字目をスキップ
《→》 t 3文字目をコピー
《INS》yptyp ypを挿入
《↓》 type prog.mac残りをコピー

2.5.3 その他の機能

 MSX-DOSにはコマンド行の編集に用いる特殊キーの他に、表3.4のような特殊キーがあります。

表3.4 その他の特殊キー

機能 特殊キー内容
中止 [CTRL]+[C]現在動作中のコマンドやプログラムの実行を中止します。
印刷 [CTRL]+[P]ディスプレイへの表示をプリンタへも出力します。
印刷取消[CTRL]+[N]「[CTRL]+[P]」の動作を取り消します。
表示停止[CTRL]+[S]ディスプレイへの表示を一時停止します。任意のキーを押すと表示は再開します。