日本語 Compaq OpenVMS
日本語 EVE
リファレンス・マニュアル


前へ 次へ 目次 索引


2.3.1 セクション・ファイルの作成

日本語 EVE は,スタートアップのためにセクション・ファイルを必要とします。省略時の設定では,日本語 EVE は SYS$SHARE ディレクトリに登録されている JEVE$SECTION_V3.XTPU$SECTION というセクション・ファイルを使用します。この省略時のセクション・ファイルは,編集キーを定義したり,標準的な日本語 EVE コマンドも定義したりします。

省略時のセクション・ファイルを使用するかわりに,標準的な日本語 EVE 機能に加えて独自のキー定義や学習シーケンス,編集機能などを格納したセクション・ファイルを作成することができます。セクション・ファイルは2種類の方法で作成することができます。

このようにして拡張した日本語 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つの方法があります。

  1. 日本語 EVE の起動に /INITIALIZATION 修飾子を指定します。

    次のコマンドは,MY_INIT という名前のイニシャライゼーション・ファイルを使用して,日本語 EVE を起動します。


    $ EDIT/XTPU/INIT=WORK1:[ALEXIS]MY_INIT
    

  2. 論理名 JEVE$INIT_V3 にイニシャライゼーション・ファイルを定義します。

    省略時の設定では,DEC XTPU は論理名が JEVE$INIT_V3 であるイニシャライゼーション・ファイルを使用します。この論理名を LOGIN.COM ファイルに定義した場合には, DEC XTPU は,日本語 EVE を起動するときに,ユーザのイニシャライゼーション・ファイルを自動的に使用します。たとえば,次のコマンドを LOGIN.COM ファイルに登録できます。


    $ DEFINE JEVE$INIT_V3 WORK1:[ALEXIS]MY_INIT.EVE
    

  3. イニシャライゼーション・ファイルを,JEVE$INIT_V3.EVE という名前にして, SYS$LOGIN ディレクトリに置きます。

日本語 EVE を起動すると,日本語 EVE はまずセクション・ファイルを探し,次にコマンド・ファイルを探し,最後にイニシャライゼーション・ファイルを探します。イニシャライゼーション・ファイルはセクション・ファイルおよびコマンド・ファイルの後に実行されるため,イニシャライゼーション・ファイルの定義はセクション・ファイルやコマンド・ファイルの定義より優先します。この理由から,編集環境を定義するコマンドはコマンド・ファイルまたはイニシャライゼーション・ファイルに登録してください。環境を定義するコマンドは次のとおりです。

2.3.3 コマンド・ファイルの作成

コマンド・ファイルは,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 では,コマンド・ファイルの作成に関して,次のことを示しています。

  1. コマンド・ファイルの内容を分かり易く示すために,コメントを使用します。コメントの先頭には感嘆符を指定します。DEC XTPU は感嘆符を検出すると,その行の残りの部分を無視します。

  2. 各プロシージャの先頭には procedure という単語を指定します。

  3. プロシージャ内の各DEC XTPU ステートメントの最後には,セミコロンを指定します。

  4. 各日本語 EVE コマンドは,標準的な日本語 EVE のセクション・ファイル (SYS$SHARE:JEVE$SECTION_V3.XTPU$SECTION) の DEC XTPU プロシージャの名前に対応します。

    これらの DEC XTPU プロシージャの名前は,ユーザが作成するプロシージャの内部で使用でき,また,DEC XTPU ステートメントとして単独で実行することも可能です。コマンド・ファイルにユーザ作成プロシージャと実行可能な DEC XTPU ステートメントの両方を格納する場合には,実行可能なステートメントの前にすべてのプロシージャを格納してください。

  5. 各プロシージャの最後に endprocedure; というキーワードを指定します。

  6. 日本語 EVE でコマンドを実現するプロシージャを作成する場合には,プロシージャ名の最初の 4 文字として,EVE_ を使用します。この規則に従うことにより,プロシージャ名の EVE_ 以降の部分が,日本語 EVE コマンドになります。たとえば, EVE_NEXT_PARAGRAPH というプロシージャをコマンド・ファイルに作成した場合,セクション・ファイルをコンパイルした後,日本語 EVE の新しい NEXT PRAGRAPH コマンドを使用できます。

    コマンド・ファイルは,セクション・ファイルの後で実行されるためプロシージャは,セクション・ファイルに登録した同じ名前のコマンドより優先します。たとえば,EVE_ERASE_CHARACTER というプロシージャを指定した場合, ERASE CHARACTER コマンドは日本語 OpenVMS が提供する日本語 EVE コマンドでなく,ユーザが作成したプロシージャを実行します。

  7. 日本語 EVE コマンドを,繰り返し使用できるように (単独で,または学習シーケンスの一部として),正常終了したときに TRUE を戻さなければなりません。

  8. パラメータを必要とする DEC XTPU プロシージャ名を使用する場合には,パラメータを括弧で囲みます。たとえば,日本語 EVE の SET LEFT MARGINS コマンドは,左マージンを設定する場所を指定するためのパラメータを必要とします。日本語 EVE の構文は次のとおりです。


    SET LEFT MARGIN 10 
    


    しかし,DEC XTPU の構文は次のとおりです。


    eve_set_left_margin(10); 
    


    パラメータが整数ではなく,文字列の場合には,パラメータを引用符で囲まなければなりません。たとえば,EVE_SET SCROLL_MARGINS の場合には,"10%" というパラメータは文字列であるため,引用符で囲まなければなりません。空パラメータを渡す場合には,eve_spawn(" ")などのように,空の1組の引用符を使用します。

  9. プロシージャは起動する前にコンパイルしておかなければなりません。その後,プロシージャは日本語 EVE コマンドとして起動するか,または DEC XTPU 実行可能ステートメントとして起動できます。この例では,EVE_CHANGE_WIDTH という名前のプロシージャは,日本語 EVE の CHANGE WIDTH コマンドとして起動できます。また,このプロシージャ名は,DEC XTPU 実行可能ステートメントである EVE_CHANGE_WIDTH としても起動できます。

  10. セクション・ファイルとして使用するコマンド・ファイルに TPU$LOCAL_INIT というプロシージャを追加します。

    このプロシージャには,日本語 EVE を起動する時に定義し,実行したいすべての実行可能ステートメント(他のプロシージャを呼び出すステートメントも含む)を含まなければなりません。このプロシージャに指定した実行可能ステートメントはすべて,日本語 EVE を起動するときに実行されるため,このプロシージャ内のステートメントは,日本語 EVE エディタの省略時の設定になります。

  11. この DEC XTPU ステートメントは,EVE_MIMIC_EDT プロシージャを起動します。このプロシージャには,日本語 EVE の設定を変更する DEC XTPU ステートメントが格納されています。コマンド・ファイルの例をコンパイルし,それを個人用セクション・ファイルに保存し,そのセクション・ファイルを使用して,日本語 EVE を起動する場合には,キーパッドの設定,カーソルの形式,および左マージンが自動的に EVE_MIMIC_EDT プロシージャによって設定されます。この結果,日本語 EVE はスタートアップ時に EDT と同様の動作をします。

  12. この DEC XTPU ステートメントは,[ Ctrl/B ] というキー・シーケンスに対して,ユーザ作成プロシージャである EVE_NEXT_PARAGRAPH を定義するために,定義済みの日本語 EVE ルーチンである EVE$DEFINE_KEY を使用します。 EVE$DEFINE_KEY ルーチンを使用すれば,キーに割り当てられているプログラムはエラー・ハンドラを使用できます。DEC XTPU の組込みプロシージャである DEFINE_KEY は,このステップを実行しません。EVE$DEFINE_KEY に対しては 4 つのパラメータがあります (このルーチンは,DEC XTPU 組込みプロシージャである DEFINE_KEY と同じパラメータを使用します)。最初のパラメータは,キーに割り当てる日本語 EVE プロシージャ,またはコマンドを指定します。 2 番目のパラメータは,コマンドをどのキーに割り当てるかを指定します。 3 番目のパラメータは,HELP キーパッド・ダイアグラムで,日本語 EVE がそのキーに対して使用するラベルを指定します。4 番目のパラメータは,キー定義を保存するためのキーマップ・リストを指定する日本語 EVE 変数です。特殊なアプリケーションを実現する高度なユーザでない限り,4 番目のパラメータに対しては,EVE$X_USER_KEYS という変数名を使用してください。

  13. この DEC XTPU ステートメントは,[ GOLD/O ] キー・シーケンスに対して, EVE_ZAPLINE プロシージャを定義します。この行は,GOLD キーとアルファベット・キーで構成されるシーケンスを定義するときに使用するための DEC XTPU 構文を示しています。 "shift_key" を使用すると,定義は大文字と小文字を無視するようになり, o と O のどちらも定義されます。

  14. このステートメントは,[F17]キーに対して,日本語 EVE の TWO WINDOWS コマンドを定義します。

  15. このステートメントは,[Ctrl/G] キー・シーケンスに対して,日本語 EVE の OTHER WINDOWS コマンドを定義します。

  16. このステートメントは,[ GOLD/KP6 ] キー・シーケンスに対して,日本語 EVE の GET FILE コマンドを定義します。このキーパッドの割り当ては, [ GOLD/KP6 ]キーの前の定義を無効にします。 EVE_MIMIC_EDT プロシージャは,キーパッドを EDT に設定し, EDT キーパッドは [ GOLD/KP6 ] キー・シーケンスを INSERT HEREコマンドに割り当てます。しかし,この DEC XTPU ステートメントは,キー割り当てを GET FILE コマンドに変更します。 1 組の一重引用符は空数をプロシージャに渡します。

  17. このステートメントは,[ GOLD/F20 ] キー・シーケンスに対して, EVE_TRANSPOSE プロシージャを定義します。

  18. TPU$LOCAL_INIT ステートメントは TPU$LOCAL_INIT プロシージャが呼び出します。この後,このプロシージャが実行され,日本語 EVE の新しい省略時の設定が作成されます。

  19. 新しいセクション・ファイルを作成するために,SAVE ステートメントを入力します。セクション・ファイルの装置,ディレクトリ,およびファイル名を括弧と引用符の内部に指定します。セクション・ファイルを更新するには,既存の個人用セクション・ファイルを指定します。

  20. ファイルをセクション・ファイルとして,コンパイルする場合には,コマンド・ファイルの最後のステートメントとして QUIT ステートメントを追加します。 QUIT は日本語 EVE を終了し,制御を DCL に戻します。


前へ 次へ 目次 索引