前へ | 次へ | 目次 | 索引 |
コマンド・ファイルを使用して編集環境の特性を設定し,標準のEVE エディタに機能を追加するには,再び /COMMAND 修飾子を付けて EVE を起動します。たとえば,次のようにします。
$ EDIT/TPU/COMMAND=DATA_SETUP |
EVE はコマンド・ファイル内の文をもう一度実行しますが, SAVE 文がないため,コンパイルされたプロシージャやキー定義はセーブされません。
コマンド修飾子を指定しない場合, EVE は論理名 TPU$COMMAND によって指定されたファイルを検索します。この論理名は LOGIN.COM ファイルで定義できます。このファイルが見つからない場合, DECTPU は現在のディレクトリにある TPU$COMMAND.TPU という名前のファイルを検索します。
A.7.2.1 コマンド・ファイルの作成規則
コマンド・ファイルを作成する場合には,次の規則に注意してください。
SET LEFT MARGIN 10 |
DECTPU の形式は次のとおりである。
eve_set_left_margin(10); |
次の例では,EVE を EDT エディタに類似するように変更するコマンド・ファイルを示しています。このファイルは,MY_SECTION.TPU$SECTION という名前の個人用セクション・ファイルを作成します。
!********************************************************************* !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 EVE_END_OF_LINE; EVE_ERASE_START_OF_LINE; (2) EVE_DELETE; ENDPROCEDURE !Procedure to move the cursor to the beginning of the next paragraph: PROCEDURE EVE_NEXT_PARAGRAPH (3) LOCAL PAT1, THE_RANGE; PAT1 := line_begin + line_begin + ARB (1); THE_RANGE := SEARCH_QUIETLY (PAT1, forward, exact); IF THE_RANGE <> 0 THEN POSITION (END_OF (THE_RANGE)); RETURN (TRUE); (4) ELSE RETURN (FALSE); ENDIF; ENDPROCEDURE !Procedure to make EVE behave more like EDT PROCEDURE EVE_MIMIC_EDT EVE_SET_KEYPAD_EDT; EVE_SET_CURSOR_BOUND; EVE_SET_LEFT_MARGIN(10); (5) 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, for example to !change to wide if narrow, change to narrow if wide PROCEDURE EVE_CHANGE_WIDTH (6) IF GET_INFO (SCREEN, "width") <> 80 THEN EVE_NARROW_SCREEN; ELSE EVE_WIDE_SCREEN; ENDIF; ENDPROCEDURE; PROCEDURE TPU$LOCAL_INIT (7) EVE_MIMIC_EDT; (8) EVE$DEFINE_KEY ("EVE_NEXT_PARAGRAPH", CTRL_P_KEY, "Next Para", EVE$X_USER_KEYS); (9) EVE$DEFINE_KEY("EVE_ZAPLINE", KEY_NAME ("O", SHIFT_KEY), "Zap Line", EVE$X_USER_KEYS); (10) EVE$DEFINE_KEY ("EVE_TWO_WINDOWS", F17, "Two Windows", EVE$X_USER_KEYS); (11) EVE$DEFINE_KEY ("EVE_OTHER_WINDOW", CTRL_G_KEY, "Other Window", EVE$X_USER_KEYS); (12) EVE$DEFINE_KEY ("EVE_GET_FILE('')", KEY_NAME (KP6, SHIFT_KEY), "Get File", EVE$X_USER_KEYS); (13) EVE$DEFINE_KEY ("EVE_TRANSPOSE", KEY_NAME (F20, SHIFT_KEY), "Transpose", EVE$X_USER_KEYS); (14) ENDPROCEDURE TPU$LOCAL_INIT; (15) SAVE ("WORK:[LINCOLN]MY_SECTION.TPU$SECTION"); (16) QUIT; (17) |
例を確認する場合には,次のことに注意してください。
キーの定義や編集セッションの特性の設定を会話形式で行う代わりに, EVE コマンドとキー定義を初期化ファイルの中に入れることができます。初期化ファイルは,EVE の起動時や,編集セッション中にプロシージャ実行コマンド (@) を使用して実行できます。たとえば次のようにします。
Command: @SETUP_INIT |
初期化ファイルを作成する場合には,次の規則が適用されます。
次に初期化ファイルの例を示します。
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 |
初期化ファイルは,/INITIALIZATION 修飾子を使って指定できます。初期化ファイルは LOGIN.COM ファイル内で EVE$INIT として定義されているか, SYS$LOGIN ディレクトリ内で EVE$INIT.EXE という名前で定義されています。次のコマンドは,MY_INIT という名前の初期化ファイルを使って EVE を起動します。
$ EDIT/TPU/INIT=WORK1:[ALEXIS]MY_INIT |
省略時の設定では,DECTPU は論理名 EVE$INIT の初期化ファイルを使用します。この論理名をユーザの LOGIN.COM ファイルに定義すると, EVE の起動時に DECTPU はユーザの初期化ファイルを自動的に使用します。たとえば,次のコマンドを LOGIN.COM ファイルに追加したとします。
$ DEFINE EVE$INIT WORK1:[ALEXIS]MY_INIT.EVE |
EVE が起動されるとき,EVE は最初にセクション・ファイルを探し,次にコマンド・ファイルを探し,最後に初期化ファイルを探します。初期化ファイルはセクション・ファイルおよびコマンド・ファイルの後に実行されるため,初期化ファイル内の定義内容はセクション・ファイルやコマンド・ファイルの内容よりも優先されます。したがって,編集環境を定義するコマンドは,コマンド・ファイルか初期化ファイルに入れるようにしてください。
A.8.1 環境を定義するコマンド
環境を定義するコマンドには次のようなものがあります。
A.9 スタートアップ・ファイルへのカスタマイズ内容のセーブ
キー定義,学習シーケンス,DECTPU プロシージャをスタートアップ・ファイルにセーブできます。スタートアップ・ファイルを使用すると,EVE に対して行ったすべての変更内容をセーブでき,編集セッションごとに再び変更し直す必要がなくなります。
EVE には 3 種類のスタートアップ・ファイルがあります。
セクション・ファイルとコマンド・ファイルは, EVE エディタから会話形式でカスタマイズできます。初期化ファイルは別に作成します。
カスタマイズ内容をセクション・ファイルまたはコマンド・ファイルにセーブする場合,エディタを終了または取り消し終了するときに SAVE ATTRIBUTES コマンドまたはSAVE EXTENDED EVE コマンドを使用します。
A.9.1 属性をセーブするためのEVE コマンド
次の一覧は,属性をセーブするためのコマンドです。
属性設定やユーザのメニュー定義をセクション・ファイルまたはコマンド・ファイルにセーブする。 EVE のプロンプトに対する応答または他のEVE コマンドによって行われた設定によって,どちらのファイルにセーブするかが決まる。セクション・ファイルにセーブする場合, SAVE EXTENDED EVE コマンドと同じコマンド・ファイルにセーブする場合,特別にマークされた DECTPU 文ブロックが属性設定とメニュー定義について作成される。この文ブロックを使用してコマンド・ファイルが作成されるか,既存のコマンド・ファイルが更新される。
EVE の省略時の属性設定をセクション・ファイルまたはコマンド・ファイルにセーブする。セクション・ファイルやコマンド・ファイルを EVE の標準設定および標準メニュー定義に戻したい場合に役立つ。
セクション・ファイルを作成し,そのファイルの中に属性設定,キー定義,メニュー定義,コンパイルされたプロシージャ,および DECTUP 文で設定されたグローバル変数などのその他の拡張をセーブする。コマンド行にセクション・ファイルを指定しないと,ファイル名を入力するよう求めるプロンプトが表示されるか,省略時のセクション・ファイルが使用される (省略時のファイルを設定した場合)。
属性をセーブするコマンド・ファイルを決定する。スタートアップ時に実行されるコマンド・ファイルを決定するものではない。
属性をセーブするセクション・ファイルを決定する。スタートアップ時に実行されるセクション・ファイルを決定するものではない。
属性の変更後に終了または取り消し終了する場合,変更内容をセーブするかどうかが尋ねられる。省略時の設定である。
属性をセーブするとき,省略時のコマンド・ファイルは現在のディレクトリ内にある TPU$COMMAND.TPU か,またはスタートアップ時に実行されたコマンド・ファイルになる。省略時の設定である。
属性をセーブするとき,作成するセクション・ファイルの名前が尋ねられる (セクション・ファイルを求めるプロンプトなしが設定されていない場合)。省略時の設定である。
属性のチェックを行わない主に終了や取り消し終了の処理にかかる時間が短くなり,処理が単純になる。このコマンドを実行した編集セッションには適用されない。この設定をセーブしたセクション・ファイルまたはコマンド・ファイルを使用する編集セッションにだけ適用される。
属性をセーブするとき,セクション・ファイルのプロンプトを表示しない。主に省略時のセクション・ファイルやコマンド・ファイルに属性をセーブするときの終了処理にかかる時間が短くなり,処理が単純になる。
属性をセーブするとき,EVE はセクション・ファイルの名前を求めるプロンプトを表示する。省略時の設定である。
属性を変更した後,セーブしなかった場合には,EVE は終了時に,変更された属性をセーブするかどうか質問します。
次の例は,EVE から終了するときにどのように属性をセーブするかを示しています。
Command: SET CURSOR BOUND Command: MOVING_TEXT Command: SET TABS VISIBLE . . . Command: EXIT Attributes were changed. Save them? [YES] |
変更内容をセーブする場合は,Return キーを押します。終了前に SAVE ATTRIBUTES コマンドが実行されます。変更内容をセーブしたくない場合は,No と入力して Return を押します。そのまま終了処理が行われます。
終了処理にかかる時間を短くして処理を単純にするために,このプロンプトを表示しない場合は, SET NOEXIT ATTRIBUTE CHECK コマンドを使用します。ただし,このコマンドは現在の編集セッションには適用されません。終了時のチェックはそれ自体がグローバル設定であり,セクション・ファイルまたはコマンド・ファイルにセーブできるものだからです。設定をセーブした後,そのセクション・ファイルまたはコマンド・ファイルを使用する以降の編集セッションにその設定が適用されます。
その他のグローバルな属性(スクロール・マージンやワイルドカードの種類など) および個々のバッファの属性 (マージンやタブ・ストップなど) は,セクション・ファイルやコマンド・ファイルにはセーブされません。通常,これらの設定に対しては初期化ファイルを使用します。
前へ | 次へ | 目次 | 索引 |