library home hp.com home products and services support and drivers solutions
cd-rom home
End of Jump to page title
HP OpenVMS Systems
Documentation

Jump to content


日本語 HP OpenVMS

日本語 HP 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 に戻します。


前へ 次へ 目次 索引