OpenBoot では、ユーザーインタフェース用として (一般的なテキストエディタである EMACS のような) 使用するコマンド行エディタ、一部のオプション拡張、オプションの履歴用機能を指定しています。これらの強力なツールを使用して、前のコマンドを入力し直さないで再び実行して、現在のコマンド行を編集して入力エラーを修正し、前のコマンドを呼び出すことができます。
表 4-16 に、ok プロンプト時に使用できる行編集用のコマンドを示します。
表 4-16 コマンド行エディタ用必須キー操作コマンド
操作キー |
説明 |
---|---|
Delete |
1 つ前の文字を消去します。 |
Backspace |
1 つ前の文字を消去します。 |
Control-U |
現在の行を消去します。 |
Return (Enter) |
現在の行の編集を終了し、表示されている 1 行全部をインタプリタに渡します。 |
OpenBoot 標準でも、これらの機能の 3 つの拡張グループを記述しています。 表 4-17 に、コマンド行編集用の拡張グループを示します。
表 4-17 コマンド行エディタ用オプションキー操作コマンド
操作キー |
説明 |
---|---|
Control-B |
1 文字位置戻ります。 |
Escape B |
1 語後戻ります。 |
Control-F |
1 文字位置進みます。 |
Escape F |
1 語進みます。 |
Control-A |
行の始めまで戻ります。 |
Control-E |
行の終わりに進みます。 |
Delete |
前の 1 文字を消去します。 |
Backspace |
前の 1 文字を消去します。 |
Control-H |
前の 1 文字を消去します。 |
Escape H |
語の初めからカーソルの直前まで消去し、消去した文字を保存バッファーに格納します。 |
Control-W |
語の初めからカーソルの直前まで消去し、消去した文字を保存バッファーに格納します。 |
Control-D |
カーソル位置の文字を消去します。 |
Escape D |
カーソル位置から語の終りまで消去し、消去した文字を保存バッファーに格納します。 |
Control-K |
カーソル位置から行の終りまで消去し、消去した文字を保存バッファーに格納します。 |
Control-U |
1 行を全部消去し、消去した文字を保存バッファーに格納します。 |
Control-R |
1 行を表示しなおします。 |
Control-Q |
次の文字の前に引用符を付けます (制御文字を挿入できます)。 |
Control-Y |
保存バッファーの内容をカーソル位置の前に挿入します。 |
コマンド行履歴の拡張機能として、前に入力したコマンドを EMACS のようなコマンド履歴バッファーに保存できます。このバッファーは 8 エントリ以上入れることができます。保存したコマンドは、バッファー内を前後に移動することにより、再び呼び出すことができます。呼び出したコマンドは、編集したり、(Return キーを押して) 再びインタプリタに渡すことができます。表 4-18 にコマンド行履歴拡張用のキーを示します。
表 4-18 コマンド行履歴用オプションキー操作コマンド
操作キー |
説明 |
---|---|
Control-P |
コマンド履歴バッファー内の 1 行前のコマンド行を表示します。 |
Control-N |
コマンド履歴バッファー内の次のコマンド行を表示します。 |
Control-L |
コマンド履歴バッファー全てを表示します。 |
コマンド名補完機能では、ワードのすでに入力した部分に基づいて辞書から 1 つまたはそれ以上の一致するワードを検索して、長い Forth のワード名を補完します。ワードの一部を入力した後にコマンド補完キー操作として Control-Space を押すと、システムは次のように応答します。
システムが一致ワードを 1 つだけ検索した場合は、ワードの未入力部分が自動的に表示されます。
システムは、一致候補を複数検索した場合は、すべての候補のすべての共通文字を表示します。
システムは、入力した文字に一致する文字を検索できなかった場合は、残りの文字との一致が 1 つ以上現れるまで、右側から文字を削除します。
システムは、正しい候補を判定できない場合は、警報音を鳴らします。
表 4-19 にコマンド補完拡張用のキーを示します。
表 4-19 コマンド補完用オプションキー操作コマンド
操作キー |
説明 |
---|---|
Control-Space |
現在のワードの名前を補完します。 |
Control-? |
現在のワードのすべての一致候補を表示します。 |
Control-/ |
現在のワードのすべての一致候補を表示します。 |