前へ | 次へ | 目次 | 索引 |
日本語 EVE は,スタートアップのためにセクション・ファイルを必要とします。省略時の設定では,日本語 EVE は SYS$SHARE ディレクトリに登録されている JEVE$SECTION_V3.XTPU$SECTION というセクション・ファイルを使用します。この省略時のセクション・ファイルは,編集キーを定義したり,標準的な日本語 EVE コマンドも定義したりします。
省略時のセクション・ファイルを使用するかわりに,標準的な日本語 EVE 機能に加えて独自のキー定義や学習シーケンス,編集機能などを格納したセクション・ファイルを作成することができます。セクション・ファイルは2種類の方法で作成することができます。
SAVE EXTENDED EVEコマンドは,現在定義されているすべてのプロシージャ,キー定義,学習シーケンスを,指定したセクション・ファイルに保存します。
コンパイルしたプロシージャと,編集セッションで作成したキー定義,および学習シーケンスを保存するには,編集セッションを終了する前に, SAVE EXTENDED EVEコマンドを入力します。たとえば,次のコマンドは, MYEVE.XTPU$SECTION というファイルにキー定義,プロシージャ,および学習シーケンスを保存します。
Command: SAVE EXTENDED EVE myeve |
ファイルの指定に装置名やディレクトリを含まない場合は,セクション・ファイルは,現在の省略時のディレクトリに保存されます。省略時のファイル・タイプは .XTPU$SECTION です。
SAVE EXTENDED EVEコマンドを実行するたびに,同じファイルを指定すれば,新しいキー定義,学習シーケンス,およびプロシージャを同じセクション・ファイルに追加できます。
多くのカスタマイズ操作を実行したい場合には,キー定義と DEC XTPU プロシージャを格納したコマンド・ファイルを作成します (ただし,コマンド・ファイルに学習シーケンスを格納することはできません)。ファイルの最後に SAVE ステートメントと QUIT ステートメントを登録し, 例 2-1 に示すように,ファイル・タイプが .XTPU$SECTION であるセクション・ファイル名を割り当てます。その後,/COMMAND 修飾子とコマンド・ファイル名を指定して,日本語 EVE を起動します。日本語 EVE はコマンド・ファイルに登録されたステートメントを実行し, SAVE ステートメントに指定したセクション・ファイルにコンパイルしたプロシージャとキー定義を保存した後に,QUIT ステートメントを実行し,制御を DCL に戻します。この後,SAVE ステートメントに指定した新しいセクション・ファイルを使用できます。
このようにして拡張した日本語 EVE のバージョンを使用するには,日本語 EVE を起動する際に, /SECTION 修飾子を指定しなければなりません。たとえば, WORKDISK:[USER]MYDEFS.XTPU$SECTION というセクション・ファイルを使用して, RHYMES.DAT ファイルを編集するために日本語 EVE を起動する場合は,次のコマンドを入力します。
$ EDIT/XTPU/SECTION=workdisk:[user]mydefs.xtpu$section rhymes.dat |
または,LOGIN.COM の中で論理名 XTPU$SECTION を再定義して,セクション・ファイルを指定することもきます。次の例はLOGIN.COM の中で,WORKDISK:[USER]MYDEFS.XTPU$SECTION ファイルを省略時のセクション・ファイルとして定義しています。
$ DEFINE XTPU$SECTION workdisk:[user]mydefs.xtpu$section |
現在のセクション・ファイルの名前を表示するには,日本語 EVE の SHOW SUMMARYコマンドを使用します。
日本語 EVE は,コマンド・ファイルやイニシャライゼーション・ファイルを実行する前に,セクション・ファイルを実行します。したがって,コマンド・ファイルとイニシャライゼーション・ファイルの定義は,セクション・ファイルの定義より優先します。編集環境の属性を設定する場合には,コマンド・ファイルまたはイニシャライゼーション・ファイルを使用してください。日本語 EVE は,スタートアップ時にこれらのコマンドを実行します。したがって,バッファの表示方法や編集モードは,ユーザの定義にしたがって調整されます。
2.3.2 イニシャライゼーション・ファイルの作成
会話的にキーを定義したり,編集セッションの属性を設定するかわりに,日本語 EVE コマンドとキー定義をイニシャライゼーション・ファイルに登録することができます。イニシャライゼーション・ファイルは @コマンドを使用して,日本語 EVE を起動するときや編集セッションの途中で実行できます。次の例を参照してください。
Command : @SETUP_INIT |
イニシャライゼーション・ファイルの各コマンドは,それぞれ別の行に指定します。各コマンドの内容を分かりやすく示すために,ファイルにコメントを追加できます。ただし,コメントの前に感嘆符を指定し,コマンドと別の行に指定してください。イニシャライゼーション・ファイルのファイル・タイプは .EVE です。
次の例はイニシャライゼーション・ファイルを示しています。
set tabs every 5 set left margin 15 set right margin 75 overstrike mode define key=Ctrl/D erase word define key=GOLD/W start of line define key=KP5 fill paragraph ! !Binds the EDT forward function (KP4 on !EDT keypad) to GOLD F ! define key=GOLD/F EDT KP4 |
イニシャライゼーション・ファイルを指定するには,以下の3つの方法があります。
次のコマンドは,MY_INIT という名前のイニシャライゼーション・ファイルを使用して,日本語 EVE を起動します。
$ EDIT/XTPU/INIT=WORK1:[ALEXIS]MY_INIT |
省略時の設定では,DEC XTPU は論理名が JEVE$INIT_V3 であるイニシャライゼーション・ファイルを使用します。この論理名を LOGIN.COM ファイルに定義した場合には, DEC XTPU は,日本語 EVE を起動するときに,ユーザのイニシャライゼーション・ファイルを自動的に使用します。たとえば,次のコマンドを LOGIN.COM ファイルに登録できます。
$ DEFINE JEVE$INIT_V3 WORK1:[ALEXIS]MY_INIT.EVE |
日本語 EVE を起動すると,日本語 EVE はまずセクション・ファイルを探し,次にコマンド・ファイルを探し,最後にイニシャライゼーション・ファイルを探します。イニシャライゼーション・ファイルはセクション・ファイルおよびコマンド・ファイルの後に実行されるため,イニシャライゼーション・ファイルの定義はセクション・ファイルやコマンド・ファイルの定義より優先します。この理由から,編集環境を定義するコマンドはコマンド・ファイルまたはイニシャライゼーション・ファイルに登録してください。環境を定義するコマンドは次のとおりです。
コマンド・ファイルは,DEC XTPU プロシージャと実行可能なステートメントを格納したソース・プログラムです。DEC XTPU プロシージャは関連する DEC XTPU ステートメントの集まりであり,プロシージャ名を起動したときに実行されます。ステートメントとプロシージャは,キーを押したときやコマンドを入力したときに,どのような操作が実行されるかを定義します。
日本語 EVE コマンドを使用すると,実際にはコンパイルした DEC XTPU プロシージャが起動されます。たとえば,日本語 EVE の SET KEYPAD EDT コマンドは,日本語 OpenVMS が提供する日本語 EVE セクション・ファイルの EVE_SET_KEYPAD_EDT プロシージャを起動します。
日本語 EVE は,セクション・ファイルを実行した後,コマンド・ファイルを実行します。この理由から,コマンド・ファイルに定義したキー定義やプロシージャは,セクション・ファイルの定義より優先します。
コマンド・ファイルは 2 種類の方法で使用できます。まず,コマンド・ファイルはセクション・ファイルから独立した編集環境を作成でき,また,新しいセクション・ファイルを作成するためにコマンド・ファイルを使用することも可能です。
省略時の編集環境を設定する場合には,必ずコマンド・ファイルを使用します。これは,スタートアップ時に日本語 EVE がコマンド・ファイル (またはイニシャライゼーション・ファイル) のステートメントを実行し,新しい省略時の設定を有効にするからです。編集環境を設定するコマンドのリストについては, 第 2.3.2 項 を参照してください。たとえば,1 つのコマンド・ファイルを使用して,メモのマージンとタブを設定し,別のコマンド・ファイルを使用して,財務報告書を作成するのに適したタブを設定できます。
コマンド・ファイルを作成するには,日本語 EVE を起動し,ファイル・タイプが .TPU であるファイル名 (たとえば,MY_COMMAND.TPU など) を指定します。エディタを起動した後,DEC XTPU ステートメントとプロシージャを入力してください。
例 2-1 は,日本語 EVE を EDT エディタに類似した機能となるように変更するコマンド・ファイルを示しています。このファイルは, MY_SECTION.XTPU$SECTION という名前の個人用セクション・ファイルを作成するために使用します。
コマンド・ファイルを使用してセクション・ファイルを作成する場合には,ファイルの最後に SAVE ステートメントと QUIT ステートメントを登録し, 例 2-1 に示したように,セクション・ファイルのファイルを指定します。コマンド・ファイルをセクション・ファイルに変換するには, /COMMAND 修飾子を使用して,日本語 EVE を起動します。次の例を参照してください。
$ EDIT/XTPU/COMMAND=MY_COMMANDS |
日本語 EVE は,ファイルに登録されたコマンドを実行し,SAVE ステートメントに指定したセクション・ファイルに,コンパイルしたプロシージャとキー定義を保存します。QUIT ステートメントはエディタを終了し,制御を DCL に戻します。これで新しいセクション・ファイルが作成されました。このセクション・ファイルを論理名 XTPU$SECTION に定義すると,日本語 EVE の起動時に自動的に読み込まれます。
コマンド・ファイルからセクション・ファイルを作成する場合の利点は,コマンド・ファイルを簡単に変更できるという点です。これは特に, DEC XTPU プロシージャを追加したり,非常に多くのキー定義を追加するときなどに重要です。
編集環境の属性を設定し,標準的な日本語 EVE エディタに機能を追加するためにコマンド・ファイルを使用する場合には,やはり /COMMAND 修飾子を使用して,日本語 EVE を起動します。次の例を参照してください。
$ EDIT/XTPU/COMMAND=DATA_SETUP |
この場合も,日本語 EVE はコマンド・ファイルのステートメントを実行しますが, SAVE ステートメントは登録されていないため,コンパイルされたプロシージャとキー定義は保存されません。
コマンド修飾子を指定しなかった場合には,日本語 EVE は,XTPU$COMMAND という論理名によって指定されるファイルを検索します。このファイルを検索できない場合には,DEC XTPU が現在のディレクトリから XTPU$COMMAND.TPU という名前のファイルを検索します。
例 2-1 日本語 EVE コマンド・ファイルの例 |
---|
!********************************************************* !Command file making EVE more like EDT and implementing !personal customizations !********************************************************* !Procedure to delete a line and close the gap left by the deletion (1) Procedure eve_zapline; (2) eve_end_of_line; (3) eve_erase_start_of_line; (4) eve_delete; endprocedure; (5) !Procedure to move the cursor to the beginning of the next paragraph: procedure eve_next_paragraph (6) local patl, the_range; patl := LINE_BEGIN + LINE_BEGIN + arb (1); the_range := search_quietly (patl,FORWARD,EXACT); if the_range <> 0 then position (end_of (the_range)); return (TRUE); (7) else return (FALSE); endif; endprocedure; !Procedure to make EVE behave more like EDT procedure eve_mimic_edit eve_set_keypad_edt; eve_set_cursor_bound; eve_set_left_margin (10); (8) endprocedure; !Procedure to transpose two characters procedure eve_transpose local whack; whack := erase_character (1); move_horizontal (1); copy_text (whack); return (TRUE); endprocedure; !Procedure to make both the screen width and the right margin narrow procedure eve_narrow_screen eve_set_width (80); eve_set_right_margin (79); endprocedure; !Procedure to make both the screen width and the right margin wide procedure eve_wide_screen eve_set_width (132); eve_set_right_margin (131); endprocedure; !Procedure to toggle screen width and right margin from the current setting !to the other setting,i.e. change to wide if narrow,change to narrow if wide procedure eve_change_width (9) if get_info (SCREEN,"width") <> 80 then eve_narrow_screen; else eve_wide_screen; endif; endprocedure; procedure tpu$local_init (10) eve_mimic_edt; (11) eve$define_key ("eve_next_paragraph",CTRL_P_KEY,"Next_Para", eve$x_user_keys); (12) eve$define_key ("eve_zapline",key_name ("o",shift_key),"Zap Line", eve$x_user_keys); (13) eve$define_key ("eve_two_windows",F17,"Two Windows",eve$x_user_keys); (14) eve$define_key ("eve_other_window",CTRL_G_KEY,"Other Window", eve$x_user_keys); (15) eve$define_key ("eve_get_file (''),key_name (KP6,SHIFT_KEY),"Get File", eve$x_user_keys); (16) eve$define_key ("eve_transpose",key_name (F20,SHIFT_KEY),"Transpose", eve$x_user_keys); (17) endprocedure; tpu$local_init; (18) save ("WORK:[LINCOLN]MY_SECTION.XTPU$SECTION"); (19) quit; (20) |
例 2-1 では,コマンド・ファイルの作成に関して,次のことを示しています。
これらの DEC XTPU プロシージャの名前は,ユーザが作成するプロシージャの内部で使用でき,また,DEC XTPU ステートメントとして単独で実行することも可能です。コマンド・ファイルにユーザ作成プロシージャと実行可能な DEC XTPU ステートメントの両方を格納する場合には,実行可能なステートメントの前にすべてのプロシージャを格納してください。
コマンド・ファイルは,セクション・ファイルの後で実行されるためプロシージャは,セクション・ファイルに登録した同じ名前のコマンドより優先します。たとえば,EVE_ERASE_CHARACTER というプロシージャを指定した場合, ERASE CHARACTER コマンドは日本語 OpenVMS が提供する日本語 EVE コマンドでなく,ユーザが作成したプロシージャを実行します。
SET LEFT MARGIN 10 |
しかし,DEC XTPU の構文は次のとおりです。
eve_set_left_margin(10); |
パラメータが整数ではなく,文字列の場合には,パラメータを引用符で囲まなければなりません。たとえば,EVE_SET SCROLL_MARGINS の場合には,"10%" というパラメータは文字列であるため,引用符で囲まなければなりません。空パラメータを渡す場合には,eve_spawn(" ")などのように,空の1組の引用符を使用します。
このプロシージャには,日本語 EVE を起動する時に定義し,実行したいすべての実行可能ステートメント(他のプロシージャを呼び出すステートメントも含む)を含まなければなりません。このプロシージャに指定した実行可能ステートメントはすべて,日本語 EVE を起動するときに実行されるため,このプロシージャ内のステートメントは,日本語 EVE エディタの省略時の設定になります。
前へ | 次へ | 目次 | 索引 |