日本語 HP OpenVMS
日本語 HP OpenVMS 日本語 EVE
リファレンス・マニュアル
第 2 章 日本語EVEの拡張機能
この章では,日本語EVEの拡張機能について説明します。
日本語 EVE のXTPUコマンドを使用すると, 1行のコマンド・ラインにDEC XTPU ステートメントを入力することができます。
XTPU コマンドを入力するには,XTPU コマンドに続けて,実行したい DEC XTPU ステートメントを入力します。たとえば,DEC XTPU の APPEND_LINE ステートメント (現在の行を前の行の最後に続けるステートメント) を実行するには,次のコマンドを入力します。
Command : XTPU APPEND_LINE
|
XTPU コマンドについての詳細は,HELP XTPU とタイプしてオンライン・ヘルプを参照してください。 DEC XTPU ステートメントとプロシージャのリストについては,『Guide to the DEC Text Processing Utility』,『DEC Text Processing Utility Reference Manual』および『 DEC XTPU リファレンス・マニュアル』を参照してください。
日本語 EVE では,編集操作に応じて,次に示す方法で標準エディタの動作を変更することができます。
- 編集キーを定義する
編集コマンドを1つのキーに割り当てることにより,コマンドを簡単に入力することができます。たとえば,日本語 EVE の ERASE WORD コマンドを [ Ctrl/D ] というキーシーケンスに割り当てることができます。
- 学習シーケンスを作成する
一連のコマンドまたはキーストロークを,学習シーケンスとして 1 つのキーに割り当てることにより,簡単に再実行することができます。たとえば,1 つのキーを押すと,新しい電話番号が電話番号簿に挿入されるような学習シーケンスを作成することができます。
- DEC XTPU を使用して,編集プロシージャを作成する
日本語 EVE は強力でプログラミング可能なテキスト処理ユーティリティ DEC XTPU を基礎に構築されているため,DEC XTPU プロシージャを使用すると,日本語 EVE の標準的なコマンドだけでなく,エディタをさらに拡張することができます。また,DEC XTPU 言語ステートメントを使用して,日本語 EVE より拡張したプロシージャを開発することができます。たとえば,2 つの文字を入れ替えるプロシージャを作成し,このプロシージャを 1 つのキーに割り当てることができます。
この節では,標準的な日本語 EVE エディタの動作を変更するために,スタートアップ・ファイルを使用する方法について説明します。スタートアップ・ファイルは,編集環境の属性を設定するキー定義と編集コマンド,標準的な日本語 EVE エディタの編集機能を拡張するためのDEC XTPU プロシージャも格納できます。
定義とプロシージャをスタートアップ・ファイルに格納すれば,日本語 EVE 起動時に,作業で必要な編集環境を自動的に設定できます。各編集セッションでその都度,日本語 EVE を変更する必要はありません。
日本語 EVE には,次に示す3種類のスタートアップ・ファイルがあります。
■ セクション・ファイル ■
セクション・ファイルには,次の機能がバイナリ形式で格納されます。
- キー定義
- 学習シーケンス
- コンパイルしたDEC XTPU とプロシージャ
セクション・ファイルはバイナリ形式であるため,編集環境を非常に迅速に設定できますが,バイナリ・ファイルを表示したり,変更することはできません。したがって,各編集セッションで変更される可能性のほとんどない編集機能を実現する場合は,セクション・ファイルを使用します。
たとえば,通常同じ方法で使用するキーはセクション・ファイルに定義します。
■ イニシャライゼーション・ファイル ■
イニシャライゼーション・ファイルは,標準的な日本語 EVE コマンドを格納した ASCII ファイルです。このイニシャライゼーション・ファイルは簡単に表示したり,変更することができます。
イニシャライゼーション・ファイルは,日本語 EVE を起動するときに /INITIALIZATION 修飾子を使用して,または編集セッションの途中で@ コマンドを使用して実行できます。イニシャライゼーション・ファイルは,セクション・ファイルやコマンド・ファイルより,編集環境を設定するのに時間がかかります。イニシャライゼーション・ファイルにはキー定義が登録されますが,学習シーケンスは登録できません。
■ コマンド・ファイル ■
コマンド・ファイルは,DEC XTPU ステートメントとプロシージャを格納した DEC XTPU ソース・ファイルです。コマンド・ファイルは2種類の方法で使用できます。まず,コマンド・ファイルは日本語 EVE セクション・ファイルを作成するために使用できます。また,日本語 EVE が編集環境を作成するために実行するコマンド・ファイルとしても使用できます。たとえば,バッファの表示方法やエディタのスタートアップ・モードを制御するために,コマンド・ファイルを使用できます。コマンド・ファイルの実行速度はセクション・ファイルより劣りますが,ASCII ファイルであるため,表示したり,変更することができます。
コマンド・ファイルとイニシャライゼーション・ファイルは多くの同じ作業のために使用できますが,コマンド・ファイルのほうがイニシャライゼーション・ファイルより速く実行でき,より高度な編集ツールを備えています。
この後の節では,各スタートアップ・ファイルについて詳しく説明します。
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 を起動するときや編集セッションの途中で実行できます。次の例を参照してください。
イニシャライゼーション・ファイルの各コマンドは,それぞれ別の行に指定します。各コマンドの内容を分かりやすく示すために,ファイルにコメントを追加できます。ただし,コメントの前に感嘆符を指定し,コマンドと別の行に指定してください。イニシャライゼーション・ファイルのファイル・タイプは .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つの方法があります。
- 日本語 EVE の起動に /INITIALIZATION 修飾子を指定します。
次のコマンドは,MY_INIT という名前のイニシャライゼーション・ファイルを使用して,日本語 EVE を起動します。
$ EDIT/XTPU/INIT=WORK1:[ALEXIS]MY_INIT
|
- 論理名 JEVE$INIT_V3 にイニシャライゼーション・ファイルを定義します。
省略時の設定では,DEC XTPU は論理名が JEVE$INIT_V3 であるイニシャライゼーション・ファイルを使用します。この論理名を LOGIN.COM ファイルに定義した場合には, DEC XTPU は,日本語 EVE を起動するときに,ユーザのイニシャライゼーション・ファイルを自動的に使用します。たとえば,次のコマンドを LOGIN.COM ファイルに登録できます。
$ DEFINE JEVE$INIT_V3 WORK1:[ALEXIS]MY_INIT.EVE
|
- イニシャライゼーション・ファイルを,JEVE$INIT_V3.EVE という名前にして, SYS$LOGIN ディレクトリに置きます。
日本語 EVE を起動すると,日本語 EVE はまずセクション・ファイルを探し,次にコマンド・ファイルを探し,最後にイニシャライゼーション・ファイルを探します。イニシャライゼーション・ファイルはセクション・ファイルおよびコマンド・ファイルの後に実行されるため,イニシャライゼーション・ファイルの定義はセクション・ファイルやコマンド・ファイルの定義より優先します。この理由から,編集環境を定義するコマンドはコマンド・ファイルまたはイニシャライゼーション・ファイルに登録してください。環境を定義するコマンドは次のとおりです。
- SET COURSOR BOUND または SET COURSOR FREE
- SET FIND WHITESPACE または SET FIND NOWHITESPACE
- SET KEYPAD
- SET GOLD KEY
- SET LEFT MARGIN
- SET RIGHT MARGIN
- SET SCROLL MARGINS
- SET TABS AT または SET TABS EVERY
- SET TABS SPACES,SET TABS MOVEMENT または SET TABS INSERT
- SET TABS VISIBLE または SET TABS INVISIBLE
- SET WIDTH
- SET WILDCARD VMS または SET WILDCARD ULTRIX
- SET WRAP または SET NOWRAP
- バッファの省略モード :
CHANGE MODE,OVERSTRIKE MODE または INSERT MODE
- バッファの省略時の方向 :
CHANGE DIRECTION,FORWARD または REVERSE
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 という名前のファイルを検索します。
!*********************************************************
!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 では,コマンド・ファイルの作成に関して,次のことを示しています。
|