XTPU コマンドを入力するには,XTPU コマンドに続けて, 実行したいDEC XTPUステートメントを入力します。たとえば, DEC XTPU のAPPEND_LINEステートメント (現在の行を前の行の最後に続けるステートメント)を実行するには, 次のコマンドを入力します。
Command : XTPU APPEND_LINEXTPU コマンドについての詳細は, HELP XTPU とタイプしてオンライン・ヘルプを参照してください。 DEC XTPUステートメントとプロシージャのリストについては, 『Guide to the DEC Text Processing Utility』, 『DEC Text Processing Utility Reference Manual』および 『DEC XTPU リファレンス・マニュアル』を参照してください。
編集コマンドを1つのキーに割り当てることにより, コマンドを簡単に入力することができます。たとえば, 日本語EVEの ERASE WORD コマンドを[Ctrl/D]というキーシーケンスに割り当てることができます。
一連のコマンドまたはキーストロークを, 学習シーケンスとして1つのキーに割り当てることにより, 簡単に再実行することができます。たとえば,1つのキーを押すと, 新しい電話番号が電話番号簿に挿入されるような学習シーケンスを作成することができます。
日本語EVEは強力でプログラミング可能なテキスト処理ユーティリティDEC XTPUを基礎に構築されているため, DEC XTPUプロシージャを使用すると,日本語EVEの標準的なコマンドだけでなく, エディタをさらに拡張することができます。 また,DEC XTPU言語ステートメントを使用して, 日本語EVEより拡張したプロシージャを開発することができます。 たとえば,2つの文字を入れ替えるプロシージャを作成し, このプロシージャを1つのキーに割り当てることができます。
定義とプロシージャをスタートアップ・ファイルに格納すれば, 日本語EVE起動時に,作業で必要な編集環境を自動的に設定できます。 各編集セッションでその都度,日本語EVEを変更する必要はありません。
日本語EVEには,次に示す3種類のスタートアップ・ファイルがあります。
セクション・ファイルには,次の機能がバイナリ形式で格納されます。
たとえば,通常同じ方法で使用するキーはセクション・ファイルに定義します。
イニシャライゼーション・ファイルは, 標準的な日本語EVEコマンドを格納したASCIIファイルです。 このイニシャライゼーション・ファイルは簡単に表示したり,変更することができます。
イニシャライゼーション・ファイルは, 日本語EVEを起動するときに /INITIALIZATION修飾子を使用して, または編集セッションの途中で@ コマンドを使用して実行できます。 イニシャライゼーション・ファイルは, セクション・ファイルやコマンド・ファイルより, 編集環境を設定するのに時間がかかります。 イニシャライゼーション・ファイルにはキー定義が登録されますが, 学習シーケンスは登録できません。
コマンド・ファイルは, DEC XTPUステートメントとプロシージャを格納した DEC XTPUソース・ファイルです。 コマンド・ファイルは2種類の方法で使用できます。まず, コマンド・ファイルは日本語EVEセクション・ファイルを作成するために使用できます。 また,日本語EVEが編集環境を作成するために実行するコマンド・ファイルとしても使用できます。 たとえば,バッファの表示方法やエディタのスタートアップ・モードを制御するために, コマンド・ファイルを使用できます。 コマンド・ファイルの実行速度はセクション・ファイルより劣りますが, ASCIIファイルであるため,表示したり,変更することができます。
コマンド・ファイルとイニシャライゼーション・ファイルは多くの同じ作業のために使用できますが, コマンド・ファイルのほうがイニシャライゼーション・ファイルより速く実行でき, より高度な編集ツールを備えています。
この後の節では,各スタートアップ・ファイルについて詳しく説明します。
省略時のセクション・ファイルを使用するかわりに, 標準的な日本語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ステートメントに指定した新しいセクション・ファイルを使用できます。
$ 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は,スタートアップ時にこれらのコマンドを実行します。したがって, バッファの表示方法や編集モードは,ユーザの定義にしたがって調整されます。
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
CHANGE MODE,OVERSTRIKE MODE または INSERT MODE
CHANGE DIRECTION,FORWARD または REVERSE
日本語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という名前のファイルを検索します。
!********************************************************* !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エディタの省略時の設定になります。