[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]

A EVEのカスタマイズ

この付録では,スタートアップ・ファイルを使用して,標準のEVEエディタを変更する方法について説明します。 特に,次のことについて説明します。

補足説明については,次のものを参照してください。

スタートアップ・ファイルについて

スタートアップ・ファイルには,キー定義と編集環境の特性を設定する編集コマンドが収められます。 スタートアップ・ファイルには,標準EVE エディタの編集機能を高める DECTPUプロシージャも収めることができます。

定義とプロシージャをスタートアップ・ファイルに入れることによって, エディタの起動時に,自分のタスクに必要な編集環境を自動的に設定することができます。 以下の各節では,異なる種類のスタートアップ・ファイルの作成および使用方法を説明します。

標準エディタのテーラリング

EVEでは,必要な編集環境に合わせて標準エディタをカスタマイズすることができます。 次のようなカスタマイズ方法があります。

A.1 EVEキーの定義

EVEコマンドを実行したり,学習シーケンスと呼ばれる一連のキーストロークを入力するキーを定義することができます。

A.1.1 未定義のキー

EVEでは,Returnキー(Ctrl/M),スペース・バー,およびメイン・キーボード上の印刷可能な文字( 英字,数字,区切り記号など)は定義できません。

また,次のキーとコントロール・キー・シーケンスは定義しないようにしてください。 いくつかのキーは特殊なターミナル設定を使用しなければ定義できません。


Break _
Deleteまたは<x |
EscapeまたはCtrl/[
F1からF6 (VT200およびVT300シリーズのターミナル)
Help (VT100シリーズのターミナルのPF2)
Noscroll
Shift
Ctrl/C
Ctrl/I (タブ・キー)
Ctrl/O
Ctrl/Q
Ctrl/R (EVEではREMEMBERとして定義されている)
Ctrl/S
Ctrl/T
Ctrl/U (EVEではSTART OF LINEとして定義されている)
Ctrl/X
Ctrl/Y

その他のキーはすべて,コントロール・キーも含めて定義できます。Doコマンドを別のキーに割り当てている場合は,Do キーを再定義することもできます。

A.1.2 使用されなくなったキー

SET SHIFT KEYとSET NOSHIFT KEYは使用されなくなったコマンドです。代わりにそれぞれSET GOLD KEY とSET NOGOLD KEYを使用してください。

A.1.3 EVEコマンドを実行するためのキーの定義

キーを定義することによって,頻繁に使用するEVEコマンドを入力するための編集キーを作成できます。EVE コマンドを実行するためのキーは, DEFINE KEYコマンドまたは初期化ファイルを使用して定義できます。ヘルプを使用しているときにEVE コマンドを割り当てたキーを押すと,そのコマンドのヘルプ・ テキストが表示されます。SAVE ATTRIBUTESコマンドかSAVE EXTENDED EVE コマンドを使用して,1つの編集セッションから次の編集セッションへキー定義をセーブしないかぎり,EVE 編集セッションの終了とともにキー定義は無効になります。

DEFINE KEYコマンドは,単一キー,GOLDキーの組み合わせ,またはコントロール・ キー・シーケンスにEVEコマンドを割り当てます。1つのコマンド行でDEFINE KEY コマンドと定義するキー,および割り当てるコマンドを入力して定義するか,DEFINE KEY コマンドを入力して EVEのプロンプトの指示に従って定義することができます。

DEFINE KEYコマンドを1つのコマンド行で入力するには,次のコマンド構文を使用します。

DEFINE KEY [=キー名]コマンド

各要素は次のとおりです。

キー名 定義するキー
コマンド キーに割り当てるコマンド

たとえば,次のコマンドはMOVE BY WORDコマンドをキーパッド・キーの1 (KP1)に割り当てます。

     Command: DEFINE KEY=KP1 MOVE BY WORD

次のコマンドはFILLコマンドをCtrl/Fに割り当てます。

     Command: DEFINE KEY=Ctrl/F FILL

キー名の指定では,アンダスコア(_),ハイフン(-),スラッシュ(/)の3 種類の区切り記号を使用できます。たとえば,Ctrl/Fキーは,Ctrl_F, Ctrl-F,Ctrl/Fのように指定できます。

DEFINE KEYコマンドを使用してEVEのプロンプトを表示するには,EVEを起動した後,Do キーを押してDEFINE KEYコマンドを入力します。次のようにします。

     [End of file]

     Buffer: MAIN                           | Write | Insert | Forward
     Command: DEFINE KEY

キーに割り当てたいEVEコマンドを入力してReturnキーを押します。

     [End of file]

     Buffer: MAIN                           | Write | Insert | Forward
     EVE command: START OF LINE

入力したEVEコマンドに関連付けるキーを押します。

     [End of file]

     Buffer: MAIN                           | Write | Insert | Forward
     Press the key you want to define: <F20>

キーが正しく定義されると"Key defined"というメッセージが表示されます。

EVEコマンドをキーに割り当てる別の方法は,初期化ファイルを作成する方法です。 初期化ファイルの中でキーを定義し編集セッションの特性を設定することができます。 このファイルにはEVEコマンドとキー定義が含まれます。 初期化ファイルはEVEの起動時に実行されます。初期化ファイルにDEFINE KEY コマンドを記述する場合は,ここで説明した構文を使用します。 初期化ファイルについての詳細は,オンライン・ヘルプのInitialigation Files というトピックを参照してください。

キー定義を削除するには,UNDEFINE KEYコマンドを使用します。

第A.1.8項には,EVEコマンドを実行するためのキー定義のさまざまな例が示されています。

DEFINE KEY,SET GOLD KEY,SHOW KEY,およびUNDEFINE KEYの各コマンドのパラメータとしてキーの名前を入力できます。EVE のキー名は,通常はキー上のラベルと同じです。 ラベルを使ってもキー名を指定したり,1つのキーパッド上の位置を示す番号を使ってもキー名を指定することができます。 たとえば,数値キーパッド上の7はKP7と名付けられ,ミニキーパッド上のキーはE1 からE6というように名付けられます。

キー名は,一意に認識できれば短縮することができます。たとえば,G RemはGOLD Removeの有効な短縮形であり,G RはGOLD Rの短縮形です。キー定義では英字の大文字と小文字は区別されません。

コントロール・キーはCtrl,Control,またはサーカンフレックス(^)を使って指定できます。 たとえば,Ctrl/A,Control/A,^Aはどれも同じ意味です。EVE によって定義されているコントロール・キーの一覧については,EVE オンライン・ヘルプの「Control Keys」というトピックを参照してください。

コントロール・キーやGOLDキー・シーケンスを指定するとき,ハイフン, スラッシュ,またはアンダスコアをキー名の中の区切り記号として使用します( たとえばAlt/A,Ctrl/N,GOLD-F20など)。したがって,初期化ファイル内では, 次のようにキー名を入力してコマンドを使用することができます。

        DEFINE KEY= Ctrl/P  MOVE BY PAGE
        DEFINE KEY= GOLD-N  NEXT BUFFER
        DEFINE KEY= KP7     CENTER LINE
        SET GOLD KEY F17

A.1.4 EVEとDECTPUとの違い

EVEのキー名の中には,DECTPUコマンド・ファイル内で使用するキー名とは異なるものがあります。 次の表にそのキー名を示します。

EVEコマンド DECTPUプロシージャ
GOLD A KEY_NAME (A, SHIFT_ KEY)
GOLD MINUS KEY_NAME (MINUS, SHIFT_KEY)
Ctrl/D Ctrl_D KEY
SHIFT/F14 KEY_NAME (F14, SHIFT_MODIFIED)

A.1.5 EVEキー名

次の表は,EVEのキー名とキーボードまたはキーパッド上のキー・ラベルとの対応を示します。 ターミナルによっては存在しないキーもあります。 たとえば,VT100シリーズのターミナルにはF1からF20までのキーがありません。 また,VT200,VT300,VT400の各シリーズのターミナルには, BackspaceとLine-feedのキーがありません。DECTPU組み込みプロシージャではこれらのキー名を使用しないこと。DECTPU 組み込みプロシージャで使用する正しいキーワードについては, 『Guide to the DEC Text Processing Utility』の表"Keywords Used for Key Names" を参照。

キー キー名
F7〜F20 F7 . . . F20
Help HELPまたはF15
Do DOまたはF16
Find FINDまたはE1
Insert Here INSERT_HEREまたはE2
Remove REMOVEまたはE3
Select SELECTまたはE4
Prev Screen PREV_SCREENまたはE5
Next Screen NEXT_ SCREENまたはE6
上向き矢印 UP
左向き矢印 LEFT
下向き矢印 DOWN
右向き矢印 RIGHT
PF1〜PF4 PF1 . . . PF4
0〜9 (数値キーパッド) KP0 . . . KP9
- (数値キーパッド) MINUS
. (数値キーパッド) PERIOD
,_(数値キーパッド) COMMA
<x またはDelete DELETE
TabまたはTAB TABまたはCtrl/I
Backspace BSまたはCtrl/H
Line-feed LFまたはCtrl/J


A.1.6 定義できないキー

次のキーは定義できません。


F1〜F6
Compose Character
Ctrl (単独で)
ReturnまたはCtrl/M
Break
EscapeまたはCtrl/[
LockまたはCaps Lock
No Scroll
sit-up
Shift

また,メイン・キーボード上の入力キー(修飾キーとの組み合わせで使用する場合は除く) ,DOとして定義されたキーが1つしかない場合のDoキーや, 現在GOLDとして設定されているキーを定義することはできません。

A.1.7 定義してはいけないキー

次のキーおよびコントロール・キーは定義しないようにしてください。これらのコントロール・ キーを定義することは可能ですが,その場合はターミナル特性を特殊な方法で設定しないとそれらを実行できません。

Ctrl/BまたはCtrl/Rを再定義する場合,他のキーをそれぞれRECALLおよびREMEMBER として定義しなければなりません。これらのコマンドはキーを押すことによってしか実行できないからです。

A.1.8 GOLDキーの定義

GOLDキーを作成すると,同じ編集キーに2つの定義を割り当てることができます。2 つの定義を編集キーに割り当てた場合,その編集キーだけを押すと, 一方のキー定義が実行され,GOLDキーを押してから編集キーを押すと, もう一方のキー定義が実行されます。

GOLDキーを定義するには,SET GOLD KEYコマンドを入力し,GOLDキーとして使用したいキーを押します。 キーが正しく定義されると,"GOLD key set"というメッセージがメッセージ・バッファに表示されます。EVEには省略時のGOLD キーはありません。

GOLDキーの作成後は,EVEのGOLDキー定義を使用できます。これらのキー定義の図を参照するには,HELP KEYPAD コマンドを入力します。GOLDキー定義がディスプレイ上に反転表示されます。

誤ってGOLDキーを押した場合は,Selectキーを押して取り消します。次の編集セッションでもこのキー定義を使用するには,SAVE ATTRIBUTES コマンドかSAVE EXTENDED EVE コマンドでキー定義をセーブします。

A.1.8.1 GOLDキーとの組み合せ

次の表は,EVEキーパッド上のGOLDキーの組み合わせと,それに対応する定義を示しています。

キー 定義
GOLD F13 ワードの復元(WPSキーパッドの場合は除く)
GOLD Help ヘルプ・ キー
GOLD Find ワイルドカード検索
GOLD Insert Here 復元
GOLD Remove テキストの保存
GOLD Select 再設定
GOLD Prev Screen 前のウィンドウ
GOLD Next Screen 次のウィンドウ
GOLD上向き矢印
GOLD下向き矢印
GOLD左向き矢印 行の先頭
GOLD右向き矢印 行末

操作手順: GOLDキー定義の作成

GOLDキーを使って自分自身のキー定義を作成することもできます。次の例は,GOLD キーを定義して2つのコマンドを 1つのキーに割り当てる方法を示しています。 この例では,数値キーパッド上の4のキーをGOLDキーとして定義し,BOTTOM コマンドとTOPコマンドをCtrl/Gに割り当てています。Ctrl/G だけを押すとBOTTOMコマンドが入力され,GOLDキーを押した後Ctrl/G を押すとTOPコマンドが入力されるようにします。

GOLDキーとBOTTOMおよびTOPのキーを定義するには,次のようにします。

手順 操作
1 GOLDキーを定義する。

  1. Doキーを押してSET GOLD KEYと入力し,Returnキーを押す。

  2. 数値キーパッドの4のキーを押す。
2 BOTTOMのキーを定義する。

  1. Doキーを押してDEFINE KEYと入力し,Returnキーを押す。

  2. BOTTOMと入力してReturnキーを押す。

  3. Ctrl/Gを押す。これでCtrl/GはBOTTOMとして定義される。
3 GOLD Ctrl/GキーをTOPのキーとして定義する。

  1. Doキーを押してDEFINE KEYと入力し,Returnキーを押す。

  2. TOPと入力してReturnキーを押す。

  3. GOLDキー(数値キーパッドの4)を押しながらCtrl/Gを押す。

これ以後,編集セッションを終了するまで,Ctrl/Gを押すとBOTTOMコマンドが実行され,GOLD キー(数値キーパッドの4)を押してからCtrl/Gを押すとTOP コマンドが実行されます。

A.1.8.2 GOLDキーの削除

一度に複数のGOLDキーを定義することはできません。GOLDキー定義を削除するには,SET NOGOLD KEY コマンドを入力し,定義を解除したいキーを押します。 また,別のGOLDキーを定義すると元のGOLDキーは削除されます。

A.1.8.3 初期化ファイルでのGOLDキーの定義

初期化ファイルでGOLDキーを定義するには,次の形式を使用します。

SET GOLD KEYキー名

たとえば,次のコマンドはPF1キーをGOLDキーとして定義します。

     SET GOLD KEY PF1

A.2 学習シーケンス

LEARNコマンドは,学習シーケンスと呼ばれる一連のキーストロークを単一のキーまたはコントロール・ キー・シーケンスに割り当てます。学習シーケンスを使用すると, バッファに入っている同じ一連のキーストロークを1 つのキーを押すことによって何度でも入力できます。SAVE ATTRIBUTES コマンドまたはSAVE EXTENDED EVEコマンドを使用して 1つの編集セッションから次の編集セッションへ学習シーケンスをセーブしない限り,EVE 編集セッションの終了とともにすべての学習シーケンスが無効になります。

学習シーケンスを定義するには,次の手順に従ってください。

手順 操作
1 LEARNコマンドを入力する。
2 記憶させるキーストロークを入力する。

定義済みのキーを押したり,テキストを入力したり,両方を組み合わせたりできる。

3 Ctrl/R を押す。
4 プロンプトに対して, 学習シーケンスと関連させるキー(たとえば,F17やPF3など)を押す。
5 学習シーケンスを取り消すには,Return キーまたはCtrl/Mを押す。

キーが正しく定義されると,"Key sequence remembered"というメッセージが表示されます。

Ctrl/Fを押したときにファイル内に文字列を挿入するような学習シーケンスを定義するには, 次のようにします。

手順 操作
1 EVEを起動してファイルRHYMES.DATを編集する。
     She rhymes with tree,
     also with bee,
     and this one makes three.
     [End of file]

     Buffer: RHYMES.DAT                     | Write | Insert | Forward
     3 lines read from file WORKDISK:[USER]RHYMES.DAT
2 カーソルをバッファの終わりの位置に移動する。 学習シーケンスの定義を開始するために, Doキーを押してLEARNコマンドを入力する。
3 ファイルの終わりの部分に,EVEに記憶させるテキストとして次のテキストを入力する。
     And what is a rhyme?
4 Ctrl/Rを押す。
5 学習シーケンスを割り当てるキーとしてCtrl/F を押す。

これ以後,編集セッションを終了するまで,Ctrl/Fを押すとそのときのカーソル位置に"And what is a rhyme?" というテキストが挿入されます。

A.3 属性の設定とセーブ

ほとんどのグローバル属性は,以後の編集セッションに備えてセクション・ ファイルまたはDECTPUコマンド・ファイルにセーブすることができます。 また,属性をセーブするために省略時のセクション・ファイルまたはコマンド・ ファイルが作成または更新されるように設定できます。

A.3.1 EVEの省略時の設定

以下にEVEの省略時の設定を示します。特に指定がないかぎり,この設定が使用されます。 初期化ファイルを作成するときには,この表を見てどの設定値を変更したらよいかを調べてください。 設定値の中には,グローバルなもの( 編集するすべてのバッファに適用される)と,個々のバッファにだけ有効なものとがあります。 たとえば,カーソル移動の種類(固定と自由) やタブ・モード(挿入,スペース,移動)は編集するすべてのバッファで同じですが, マージン,パラグラフ・インデント,タブ・ストップはバッファごとに別々に設定できます。

A.3.2 EVEの省略時のバッファ固有の設定

次の一覧は,個々のバッファだけに有効な省略時の設定を示しています。

コマンドの再呼び出しなど,EVEコマンド行に編集を加えるような場合, 省略時の方向が逆になり,カーソルは固定されます。文字セル・ターミナルの省略時のモードは, ターミナルの設定と一致します。

省略時の設定を調べるには,SHOW DEFAULTS BUFFERコマンドを使用します。 編集中のバッファの設定を調べるには,SHOWコマンドを使用します。

EVEの設定や属性は,セクション・ファイルにセーブしたり,EVEが作成したコードとしてDECTPU コマンド・ファイルにセーブしたりできます。マージンやタブ・ ストップなどその他の属性は,初期化ファイルに設定できます。

初期化ファイルを使用してEVEを起動する場合,マージン,タブ・ストップ, および他のバッファ固有の設定に関する初期化ファイル内のコマンドは,Main バッファ(または最初のバッファ)と$DEFAULTS$という名前のEVE システム・バッファに適用されます。$DEFAULTS$バッファはテンプレート・ バッファです。 GET FILEコマンドなどを使用してバッファを作成するとき,$DEFAULTS$ バッファの設定値が使用されるため,新しいバッファはどれも同じ設定を持つようになります。 したがって,初期化ファイルにSET RIGHT MARGIN 70 コマンドがあると,作成するバッファはどれもこの右マージンを持つようになります。

次に示すのは,サンプルのEVE初期化ファイルで,編集環境を設定するコマンドとキーを定義するコマンドが含まれています。

        !   MYINIT.EVE initialization file
        !
        SET LEFT MARGIN 5
        SET PARAGRAPH INDENT 4
        SET RIGHT MARGIN 70
        SET TABS EVERY 10
        SET SCROLL MARGINS 9% 9%
        SET FIND WHITESPACE
        !   Key definitions
        SET KEYPAD EDT
        DEFINE KEY= F20      SHOW BUFFERS
        DEFINE KEY= Ctrl/P   PAGINATE
        DEFINE KEY= GOLD-G   GET FILE
        DEFINE KEY= KP7      WPS GOLD R

A.3.3 属性のセーブ

属性はグローバルな設定です。この設定の一部を将来別の編集セッションでも使用する場合に備えて, その設定をセクション・ファイルやDECTPU コマンド・ファイルにセーブしておくことができます。表 A-1 はセーブできる設定を示しています。

表 A-1 属性を設定するためのEVEコマンド

コマンド 省略時の設定
SET BOX [NO]PAD SET BOX PAD
SET BOX [NO]SELECT SET BOX NOSELECT
SET [NO]CLIPBOARD SET NOCLIPBOARD
SET CURSOR
   { BOUND           }
   { FREE            }
SET CURSOR FREE
SET [NO]DEFAULT COMMAND FILE SET NODEFAULT COMMAND FILE
SET [NO]DEFAULT SECTION FILE SET NODEFAULT SECTION FILE
SET FIND CASE [NO]EXACT SET FIND CASE NOEXACT
SET [NO]EXIT ATTRIBUTE CHECK SET EXIT ATTRIBUTE CHECK
SET [NO]SECTION FILE PROMPTING SET SECTION FILE PROMPTING
SET [NO]PENDING DELETE SET NOPENDING DELETE
SET TABS
   { INSERT            }
   { MOVEMENT          }
   { SPACES            }
SET TABS INSERT
SET TABS [IN]VISIBLE SET TABS INVISIBLE

EVEの初期化ファイルにこれらの設定に関するコマンドが含まれている場合, その設定をセクション・ファイルまたはコマンド・ファイルにセーブした後, それらのコマンド行を削除することができます。

その他のグローバルな設定(スクロール・マージンやワイルドカードの種類など) やバッファの設定(マージンやタブ・ストップなど)はセーブされません。 通常,これらの設定のためには初期化ファイルを使用します。

A.3.3.1 属性をセーブするEVEコマンド

次の一覧は,追加または変更された,属性のセーブに関するコマンドの概要を示しています。

編集セッションでは,SAVE ATTRIBUTESコマンドまたはSAVE EXTENDED EVE コマンドを使用するか,終了または取り消し終了の一部として,属性をセーブすることができます。 省略時の設定では,属性を変更してそれをセーブしない場合,EVE の終了時に次のようなプロンプトが表示されます。

     Command: SET CURSOR BOUND
     Command: SET FIND CASE EXACT
     Command: SET TABS VISIBLE
                .
                .
                .
     Command: EXIT
     Attributes were changed.  Save them? [YES]

変更内容をセーブしたい場合は,Returnキーを押します。終了処理の前にSAVE ATTRIBUTES コマンドが実行され,変更内容がセーブされます。変更内容をセーブしたくない場合は,No と入力してReturnキーを押します。そのまま終了処理が行われます。

終了処理にかかる時間を短くして処理を単純にするために,このプロンプトを表示しない場合は,SET NOEXIT ATTRIBUTE CHECK コマンドを使用します。 ただし,このコマンドは現在の編集セッションに対しては適用されません。 終了時のチェックはそれ自体がグローバル設定であり,セクション・ ファイルまたはコマンド・ファイルにセーブできるものだからです。 設定をセーブした後,そのセクション・ファイルまたはコマンド・ファイルを使用する以降の編集セッションにその設定が適用されます。

A.3.4 セクション・ファイルへの属性のセーブ

通常,属性はセクション・ファイルにセーブします。セクション・ファイルはバイナリ形式で, 属性,キー定義(学習シーケンスを含む),メニュー定義, コンパイルされたプロシージャ,およびエディタへのその他の拡張をセーブします。 これには使用中のセクション・ファイルにセーブされているものも含まれます。 実際上,セクション・ファイルはEVEのカスタマイズ・ バージョンといえます。セクション・ファイルはバイナリ形式なので, スタートアップ時に敏速に実行されます。

セクション・ファイルを作成するには,SAVE EXTENDED EVEコマンド(EVE の前のバージョンのコマンドと同じ)またはSAVE ATTRIBUTESコマンドを使用します。SAVE EXTENDED EVE を使用する場合,コマンド行でセクション・ ファイルを指定するか,EVEにセクション・ファイル名のプロンプトを表示させることができます。SAVE ATTRIBUTES を使用する場合,セクション・ ファイル名はプロンプトに対する応答として指定します。

セクション・ファイルへのセーブを高速化するために,省略時のセクション・ ファイルを設定し,セクション・ファイル名のプロンプトを表示しないようにすることができます。 省略時のセクション・ファイルとは,属性をセーブするたびにファイルを指定しなくても属性がセーブされるセクション・ ファイルです。

たとえば,次のコマンドは,現在のディレクトリにあるMYSEC.TPU$SECTION というセクション・ファイルに,属性とその他のカスタマイズ内容をセーブします。

     Command: SAVE ATTRIBUTES
     Save attributes in a section file [YES]? Return
     File to save in: mysec
     DISK$1:[USER]MYSEC.TPU$SECTION;1 created

A.3.5 属性のセーブに関するEVEの設定

次の表は,省略時のセクション・ファイルとセクション・ファイル・プロンプトの設定の影響を示しています。

コマンドの設定 SAVE ATTRIBUTESの効果
SET DEFAULT SECTION FILE
SET SECTION FILE PROMPTING
属性をセーブするとき, セクション・ファイルにセーブするかどうかが尋ねられる。Yesを指定すると( 省略時の応答),省略時のセクション・ファイルにセーブされる。 Noを指定すると,コマンド・ファイルにセーブするかどうかが尋ねられる。
SET DEFAULT SECTION FILE
SET NOSECTION FILE PROMPTING
属性をセーブするとき, プロンプトを表示せずに省略時のセクション・ファイルにセーブされる。
SET NODEFAULT SECTION FILE
SET SECTION FILE PROMPTING
属性をセーブするとき,セクション・ ファイルにセーブするかどうかが尋ねられる。Yesを指定すると, セクション・ファイル名の入力を求めるプロンプトが表示される。 Noを指定すると,コマンド・ファイルにセーブするかどうかが尋ねられる。 省略時の設定である。
SET NODEFAULT SECTION FILE
SET NOSECTION FILE PROMPTING
属性をセーブするとき, コマンド・ファイルにセーブするかどうかが尋ねられる(第A.3.6項を参照)。

通常,SET DEFAULT SECTION FILEを使用する場合,将来の編集セッションのスタートアップ時に使用するセクション・ ファイルを指定します。このコマンドは, エディタの起動時に実行されるセクション・ファイルを決定するものではなく, 属性やその他のカスタマイズ内容をセーブするセクション・ ファイルを指定するものです。

セクション・ファイルは,セーブするキー定義やメニュー定義,およびプロシージャによっては, かなり大きくなる場合があります。ディスク領域が限られている場合は, ディスク領域をそれほど必要としないコマンド・ ファイルにセーブするとよいでしょう。セクション・ファイルの作成と使用についての詳しい説明は,EVE オンライン・ヘルプの「Section Files」というトピックを参照してください。

A.3.6 コマンド・ファイルへの属性のセーブ

コマンド・ファイルには,スタートアップ時にコンパイルされ実行されるDECTPU のプロシージャと文が含まれます。実際上,コマンド・ファイルはEVE を拡張するための一連のプログラムであるといえます。バッチ編集のためにコマンド・ ファイルを使用することもできます。コマンド・ファイルを使用すると, セクション・ファイルを使用した場合に比べてスタートアップ時の処理速度は遅くなります。 どの程度遅くなるかは,コンパイルされるプロシージャや実行される文の数によって異なります。 ただし,コマンド・ ファイルが必要とするディスク領域は,セクション・ファイルよりも少なくなります。 また,コマンド・ファイルは編集したり,プリントすることができます。 コマンド・ファイルを編集した場合,編集セッションの間にEXTEND コマンドを使用してプロシージャをコンパイルし直すことができます。 コマンド・ファイルの省略時のファイル・タイプは.TPUです。

SAVE ATTRIBUTESコマンドを使用する場合,または終了時や取り消し終了時に属性をセーブする場合, コマンド・ファイルの自動作成や自動更新を行うことができます。 特別にマークされたDECTPU文ブロックが設定やメニュー定義について作成されます。 自分自身のプロシージャおよびキー定義を持つコマンド・ ファイルを作成した場合は,属性設定のブロックをコマンド・ ファイルに追加することができます。

例 A-1は,EVEが生成したコードの例を示しています。

例 A-1 コマンド・ファイルに属性をセーブするためにEVE が生成したコード

! EVE-generated code begin
! EVE attributes begin
eve$set_find_case_sensitivity (FALSE);
eve_set_box_noselect;
eve_set_box_pad;
eve_set_cursor_bound;
eve_set_nodefault_command_file;
eve_set_nodefault_section_file;
eve_set_exit_attribute_check;
eve_set_pending_delete;
eve_set_nosection_file_prompting;
eve_set_tabs ('INSERT');
eve_set_tabs ('VISIBLE');
! EVE attributes end
! EVE-generated code end

コマンド・ファイルに属性をセーブするには,次のようにSAVE ATTRIBUTESコマンドを使用します。

     Command: SAVE ATTRIBUTES
     Save attributes in a section file [YES]? no
     Save attributes in a command file [YES]? Return
     Enter file name [TPU$COMMAND.TPU] MYCOM
     14 lines written to file DISK$1:[USER]MYCOM.TPU;1

A.3.7 省略時のコマンド・ファイル

コマンド・ファイル名の入力を求めるプロンプトには,省略時のコマンド・ ファイルが大括弧で囲まれて表示されます。この省略時のファイルは, プロンプトに対してファイル名を入力せずに Returnキーを押した場合に使用されます。 この省略時のファイルは次のいずれかです。

自分に合った省略時のコマンド・ファイルを設定できます。省略時のコマンド・ ファイルとは,属性をセーブするたびにファイルを指定しなくてもEVE が作成または更新するコマンド・ファイルを指します。たとえば,次のコマンドは, 省略時のコマンド・ファイルとして現在のディレクトリにあるMYCOM を設定します。

     Command: SET DEFAULT COMMAND FILE MYCOM

セクション・ファイルではなくコマンド・ファイルにセーブしたい場合, SET NOSECTION FILE PROMPTINGコマンドも使用するようにします。すると, 属性をセーブするときに,コマンド・ファイルにセーブするかどうかについてだけが尋ねられます。 つまり,セクション・ファイルにセーブするかどうかについては尋ねられません。

通常は,SET DEFAULT COMMAND FILEを使用する場合,将来の編集セッションのスタートアップ時に使用するコマンド・ ファイルを指定します。このコマンドは,EVE の起動時に実行されるコマンド・ファイルを決定するものではなく, 属性やメニュー定義をセーブするコマンド・ファイルを指定するものです。

コマンド・ファイルの作成および使用についての詳しい説明は,EVEオンライン・ ヘルプの「Command Files」というトピックを参照してください。

A.3.8 EVEの省略時の属性のセーブ

SAVE SYSTEM ATTRIBUTESは,EVEの省略時の設定とメニュー項目をセクション・ ファイルまたはコマンド・ファイルにセーブします。したがって, いくつかの属性を設定したりメニュー項目を定義または削除した場合でも,SAVE SYSTEM ATTRIBUTES を使用して標準のEVEの設定とメニューをセクション・ ファイルまたはコマンド・ファイルに復元することができます。

SAVE SYSTEM ATTRIBUTESは,現在有効な設定を変更するものではありません。 たとえば,自由カーソルや見えないタブを有効にしたりはしません。 SAVE SYSTEM ATTRIBUTESは,EVEの省略時の設定をセクション・ファイルまたはコマンド・ ファイルにセーブするだけです。

A.4 EVE内でのDECTPUの使用

DECTPUコマンド・ファイルを作成したり,DECTPUデバッグ・パッケージを使用するために,EVE の中でDECTPUを使用できます。

ファイル作成のスイッチと修飾子は,DECTPUが入力ファイルを見つけなかったときにバッファを作成するかどうかを決定します。 この修飾子を使用した場合の処理結果は, 使用中のDECTPUアプリケーションによって異なります。

EVEでは,省略時の設定ではファイルが作成されます。入力ファイルが存在しない場合,EVE はその入力ファイルの名前とファイル・タイプを使用してバッファ名を作成します。 入力ファイルを指定しないと,Mainという名前のバッファが作成されます。

A.4.1 DECTPUコマンド・ファイルの作成

DECTPUコマンド・ファイルを作成するには,次のように/CREATEまたは/NOCREATE の修飾子を使用します。

     $ EDIT/TPU /CREATE (default)
     $ EDIT/TPU /NOCREATE

入力ファイル指定を誤って入力した場合にエディタが起動されるのを防いだり, 既存ファイルだけを編集する場合は,/NOCREATE修飾子を使用します。

指定された入力ファイルが見つからない場合,EVEは編集セッションを終了し, システム・レベルに戻ります。次に例を示します。

     $ EDIT/TPU NEW.DAT /NOCREATE
     Input file does not exist: NEW.DAT;

A.4.2 DECTPUデバッグ・パッケージの使用

デバッグのスイッチと修飾子は,DECTPUがデバッグ・ファイルを実行するかどうかを決定します。 デバッグ・ファイルは,ユーザが作成中のアプリケーションのプロシージャをテストするのに役立ちます。

デバッグしようとしているファイルのコードの編集を開始するには,次の手順に従います。

  1. GOコマンドを使用する。デバッグ・ファイルの指定にはワイルドカードは使用できない。

  2. 一度に1つのデバッグ・ファイルだけを指定する。DECTPUはTPU$INIT_PROCEDURE を実行する前にデバッグ・ファイルをコンパイルし実行する。

DECTPUとともに提供されているデバッガは,SYS$SHARE:TPU$DEBUG.TPUにあります。 このファイルは,変数を操作するためのコマンドと,プログラムの実行を制御するためのコマンドを提供します。

自分自身のデバッグ・ファイルを指定する方法は2つあります。

DECTPUデバッグ・パッケージについての詳しい説明は,ソース・ファイルのコメントまたは『DEC Text Processing Utility Reference Manual』を参照してください。

A.5 DECTPUプロシージャを使用してのEVEの拡張

EVEエディタは,DEC Text Processing Utility (DECTPU)を基礎にしています。EVE のコマンドTPUを使用して,DECTPU文を入力したり,1つのコマンド行に収まる範囲で一連の文を入力することができます。

DECTPUコマンドを入力するには,実行するDECTPU文をTPUコマンドの後に続けて入力します。 たとえば,DECTPU文のAPPEND_LINEを実行するには, 次のようなコマンド文字列を入力します。このコマンドは,直前の行の行末位置に現在の行を配置します。

     Command: TPU APPEND_LINE

TPUコマンドについての詳しい説明を表示するには,HELP TPUと入力します。DECTPU の文およびプロシージャの一覧については,『DEC Text Processing Utility Reference Manual』を参照してください。

A.5.1 DECTPUプロシージャのコーディング

EVEはDECTPUプログラミング言語でコーディングされたエディタなので, DECTPUでプロシージャをコーディングすることによってEVEの機能を拡張することができます。 この節では,DECTPUプログラミング言語について習熟しているものと想定して説明を進めます。DECTPU プログラミング言語については, 『DEC Text Processing Utility Reference Manual』で説明されています。

DECTPUプロシージャのコーディングを開始してEVEを変更する前に, EVEのソース・コードを調査してください。このソース・コードはSYS$EXAMPLE:EVE$*.TPU に保存されています。ファイル指定の中のワイルドカード文字は,EVE のソース・コードが多くのファイルに保存されていることを示します。 これらのファイルはEVE$BUILDを使用してまとめられます。 プロシージャ内の変数や文はEVEの変数や文と矛盾しないようにして,EVE の動作に悪影響を与えるような変更を回避しなければなりません。

DECTPUプログラミング言語を使って,実際上新しいEVEコマンドとなるプロシージャを作成することができます。 新しいEVEコマンド・プロシージャをコーディングする際は, 次の規則に従います。

次に示すのは,コマンド・パラメータのためのグローバル変数定義の例です。

整数の変数が必要とされます。

A.5.2 DECTPUプロシージャのコンパイル

EXTEND EVEコマンドは,EVEを終了せずにDECTPUプロシージャをコンパイルできるようにします。 カーソルがその中に置かれているプロシージャをコンパイルするには,EXTEND THIS コマンドを使用します。1つのプロシージャをコンパイルするには,EXTEND EVE コマンドとコンパイルしたいプロシージャの名前を入力します。1 つのファイル内のすべてのプロシージャをコンパイルするには,EXTEND EVE * コマンドを入力します。このコマンドはEVE コマンドのEXTEND ALLと同じです。コンパイラからのメッセージを見失った場合は,BUFFER MESSAGES コマンドを使用してMessagesバッファ内に格納されているメッセージを読みます。

次の例は,ADDコマンドとHELLOコマンド,およびその両方のコマンドのパラメータを定義する DECTPU プロシージャの作成およびコンパイルの方法を示しています。EVE を起動してMYPROCEDURES.TPUファイルを編集し,次のテキストをファイルに挿入します。

     ! Procedure to add two integers and display the result in the
     ! message window

     PROCEDURE EVE_ADD (A1, A2)

     LOCAL   TEMP,
             N1,
             N2;

     IF NOT EVE$PROMPT_NUMBER (A1, N1, "First number to add: ",
                               "No number specified.")
     THEN
         RETURN (FALSE);
     ENDIF;

     IF NOT EVE$PROMPT_NUMBER (A2, N2, "Second number to add: ",
                               "No number specified.")
     THEN
         RETURN (FALSE);
     ENDIF;

     TEMP := N1 + N2;
     MESSAGE (STR (N1) + " + " + STR (N2) + " = " + STR (TEMP));
     RETURN (TRUE);

     ENDPROCEDURE;



     PROCEDURE EVE_HELLO (MY_NAME)
     LOCAL   THE_NAME;

     IF EVE$PROMPT_STRING (MY_NAME, THE_NAME, "Name: ", "We haven't met")
     THEN
         MESSAGE ("Hello " + THE_NAME);
         RETURN (TRUE);
     ELSE
         RETURN (FALSE);
     ENDIF;

     ENDPROCEDURE;

     EVE$ARG1_ADD := "INTEGER";
     EVE$ARG2_ADD := "INTEGER";

TPU$LOCAL_INITプロシージャに2つのパラメータ変数の定義を追加する場合は,MYPROCEDURES.TPU に示されている構文を使用します。

MYPROCEDURE.TPUに入力したプロシージャをコンパイルするには,Doキーを押してEXTEND EVE * と入力し,Returnキーを押します。新たにコンパイルされたコマンドを現在の編集セッション内で使用する場合は,TPU TPU$LOCAL_INITコマンドを入力してTPU$LOCAL_INITを実行しなければなりません。

A.6 セクション・ファイルの作成

セクション・ファイルには,キー定義,学習シーケンス,DECTPUのコンパイル済みの文やプロシージャなどが, バイナリ形式で含まれています。セクション・ ファイルはバイナリ形式なので,編集環境の設定は高速に行われますが, バイナリ・ファイルを表示したり編集したりすることはできません。 セクション・ファイルは,編集セッションごとに変更されることが少ない編集機能の実現に使用します。 セクション・ファイルの省略時のファイル・ タイプは.TPU$SECTIONです。

EVEはスタートアップ時にセクション・ファイルを必要とします。省略時の設定では, ディレクトリSYS$SHAREにあるセクション・ファイルEVE$SECTION.TPU$SECTION が使用されます。この省略時のセクション・ ファイルは,図 8-1および図 8-2 に示されている編集キーと,標準のEVE コマンドを定義します。

省略時のセクション・ファイルを使用する代わりに,セクション・ファイルを変更してEVE の標準機能のほかに自分自身のキー定義や学習シーケンス, 編集機能を含めることができます。セクション・ファイルは2つの方法で作成できます。

セクション・ファイルを使用するには,EVEコマンド行で/SECTION修飾子とともにセクション・ ファイル名を指定します。たとえば,次のコマンドはWORK1 というディスクのALEXISディレクトリにあるMY_ SECTION.TPU$SECTIONという名前のセクション・ファイルを使用してEVE を起動します。

     $ EDIT/TPU/SECTION=WORK1:[ALEXIS]MY_SECTION

省略時の設定では,DECTPUは論理名TPU$SECTIONを持つセクション・ファイルを使用します。 この論理名をユーザが自分のLOGIN.COMファイルで定義すると,EVE の起動時にDECTPUは自動的にユーザのセクション・ファイルを使用します。 次に例を示します。

     $ DEFINE TPU$SECTION WORK1:[ALEXIS]MY_SECTION.TPU$SECTION

現在のセクション・ファイルの名前を表示するには,EVEコマンドのSHOW SUMMARYを使用します。

EVEは,コマンド・ファイルや初期化ファイルよりも先にセクション・ファイルを実行します。 したがって,コマンド・ファイルや初期化ファイルの中の定義はセクション・ ファイルの定義を無効にします。編集環境の特性を設定する場合は, コマンド・ファイルか初期化ファイルを使用してください。EVE はスタートアップ時にこれらのコマンドを実行しますので, バッファの表示や編集モードは,設定されている定義に従って調整されます。

A.7 コマンド・ファイルの作成

コマンド・ファイルは,DECTPUプロシージャと実行可能な文を含むソース・ プログラムです。DECTPUプロシージャは,プロシージャ名が起動されたときに実行される関連するDECTPU 文の集合です。文とプロシージャは, キーを押したりコマンドを入力したときに,何が起こるかを定義します。 コマンド・ファイルの省略時のファイル・タイプは.TPUです。

EVEコマンドを使用するとき,実際にはコンパイルされたDECTPUプロシージャを起動しています。 たとえば,EVEコマンドのSET KEYPAD EDTは,標準EVE セクション・ファイルにあるEVE_SET_KEYPAD_EDTプロシージャを起動します。

EVEはセクション・ファイルを実行した後にコマンド・ファイルを実行します。 そのため,コマンド・ファイル内に定義されたキー定義やプロシージャは, セクション・ファイルにあるものよりも優先されます。

コマンド・ファイルには異なる2つの使用方法があります。コマンド・ファイルはセクション・ ファイルからは独立した編集環境を作成できます。 また,コマンド・ファイルは新しいセクション・ファイルを作成するために使用できます。

A.7.1 編集環境の省略時の設定

編集環境の省略時設定を設定する場合は,必ずコマンド・ファイルを使用します。EVE はスタートアップ時にコマンド・ファイル(または初期化ファイル) 内の文を実行し,新しい省略時設定を適用するからです。編集環境を設定するコマンドの一覧については, 第A.8節を参照してください。 たとえば,1つのコマンド・ファイルを使用してマージン, タブ,メモの見出しを設定し,別のコマンド・ファイルを使用して会計報告を作成するために適切なタブを設定する, というようにできます。

コマンド・ファイルを作成するには,EVEを起動してファイル・タイプ.TPU を持つファイル名を指定します。たとえば,MY_COMMAND.TPUのように指定します。 エディタ内に入ったら,DECTPUの文とプロシージャを入力します。

セクション・ファイルを作成するためにコマンド・ファイルを使用する場合は, コマンド・ファイルをSAVE文およびQUIT文で終了させ, セクション・ファイルのファイル指定を含めます。その例をEVEコマンド・ ファイルに示します。 コマンド・ファイルをセクション・ファイルに変換するには,/COMMAND 修飾子を付けてEVEを起動します。たとえば,次のようにします。

     $ EDIT/TPU/COMMAND=MY_COMMANDS

EVEはファイル内のコマンドを実行し,コンパイルされたプロシージャとキー定義をSAVE 文で指定されたTPU$SECTIONファイルにセーブします。 QUIT文はエディタを終了し,制御をDCLプロンプトに戻します。この時点で, 新しいセクション・ファイルが作成されています。したがって,EVE を起動するとき,エディタはLOGIN.COMファイルかSYSLOGINディレクトリにある定義されたセクション・ ファイルを自動的に読み込みます。

コマンド・ファイルからセクション・ファイルを作成する利点の1つは, コマンド・ファイルは簡単に編集できる,という点です。DECTPUプロシージャを追加したり多数のキー定義を追加したい場合にこのことは特に重要です。

A.7.2 EVEエディタへの機能の追加

コマンド・ファイルを使用して編集環境の特性を設定し,標準のEVEエディタに機能を追加するには, 再び/COMMAND修飾子を付けてEVEを起動します。 たとえば,次のようにします。

     $ EDIT/TPU/COMMAND=DATA_SETUP

EVEはコマンド・ファイル内の文をもう一度実行しますが,SAVE文がないため, コンパイルされたプロシージャやキー定義はセーブされません。

コマンド修飾子を指定しない場合,EVEは論理名TPU$COMMANDによって指定されたファイルを検索します。 この論理名はLOGIN.COMファイルで定義できます。 このファイルが見つからない場合,DECTPUは現在のディレクトリにあるTPU$COMMAND.TPU という名前のファイルを検索します。

A.7.2.1 コマンド・ファイルの作成規則

コマンド・ファイルを作成する場合には,次の規則に注意してください。

EVEコマンド・ファイル

次の例では,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】

例を確認する場合には,次のことに注意してください。

【1】
この行の先頭には感嘆符(!)が指定されている。したがって, DECTPUはこの行の内容をすべて無視する。
【2】
各EVEコマンドは, 標準EVEのセクション・ファイル内のDECTPUプロシージャの名前(SYS$SHARE:EVE$SECTION.TPU$SECTION) に対応する。

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

【3】
このコマンドはEVEプロシージャEVE_NEXT_PARAGRAPHを呼び出す。 セクション・ファイルをコンパイルした後,新しいEVEコマンドNEXT PARAGRAPH を使用できる。
【4】
繰り返しカウントを指定して( 単独で指定するか,または学習シーケンスの一部として指定する) EVEコマンドを使用可能にするには,コマンドが正常終了したときにTRUE を戻されなければならない。
【5】
EVEコマンドSET LEFT MARGIN は,左マージンを設定する位置を指定するパラメータを必要とする。この例では, 左マージンは10に設定される。
【6】
EVE_CHANGE_WIDTH という名前のプロシージャは,EVEコマンドCHANGE WIDTHとして起動することができる。 プロシージャ名はDECTPU実行可能文EVE_CHANGE_WIDTHとして起動することもできる。
【7】
TPU$LOCAL_INITというプロシージャは, セクション・ファイルとして使用される。
【8】
このDECTPU 文はプロシージャEVE_MIMIC_EDTを起動する。このプロシージャには,EVE 設定を変更するDECTPU文が含まれている。サンプル・コマンド・ ファイルをコンパイルすると,そのファイルは個人用セクション・ファイルにセーブされ, そのセクション・ファイルを作用してEVEを起動する。 この操作を実行すると,キーパッド設定,カーソル・スタイル,左マージンは, プロシージャEVE_MIMIC_EDTによって自動的に設定される。その結果,EVE はスタートアップ時にEDTと同様の動作をする。
【9】
このDECTPU 文は,既定のEVEルーチンEVE$DEFINE_KEYを使用して,キー・シーケンスCtrl/P に対してユーザ作成プロシージャEVE_NEXT_PARAGRAPHを定義する。EVE$DEFINE_KEY ルーチンにより,キーに結合されたプログラムにエラー・ ハンドラが割り当てられる。DECTPU組み込みルーチンであるDEFINE_KEY はこの操作を実行しない。

EVE$DEFINE_KEYに対するパラメータとして,4つのパラメータがある(このルーチンは,DECTPU 組み込みルーチンのDEFINE_KEYと同じパラメータを使用する) 。最初のパラメータは,キーに結合されるEVEプロシージャまたはコマンドを指定する。2 番目のパラメータは,コマンドを結合しなければならないキーを指定する。3 番目のパラメータは,EVEがヘルプ・キーパッドの図でキーに対して使用するラベルを指定する。4 番目のパラメータは, キー定義をセーブしなければならないキーマップ・リストを指定するEVE 変数である。特殊なアプリケーションを実現している上級ユーザでない限り,4 番目のパラメータに対しては,変数名EVE$X_USER_KEYSを使用する。

【10】
このDECTPU文はキー・シーケンスGOLD Oに対して, プロシージャEVE_ZAPLINEを定義する。この行は,GOLDキーと英字キーで構成されるシーケンスを定義するとき使用されるDECTPU 形式を示している。"shift_key" を使用すると,定義で大文字と小文字が区別されなくなる。 したがって,oOの両方が定義される。
【11】
この文は,F17キーに対してEVEコマンドTWO WINDOWSを定義する。
【12】
この文は,キー・シーケンスCtrl/Gに対してEVEコマンドOTHER WINDOW を定義する。
【13】
この文は,キー・シーケンスGOLD KP6 に対してEVEコマンドGET FILEを定義する。このキーパッドの割り当ては,GOLD KP6 キーの以前の定義より優先する。EVE_MIMIC_EDTプロシージャは, キーパッドをEDTに設定し,EDTキーパッドはGOLD KP6キー・ シーケンスをINSERT HEREコマンドに結合する。しかし,このDECTPU 文はキー結合をGET FILEコマンドに変更する。2つの一重引用符は空の引数をプロシージャに渡す。
【14】
この文は,キー・シーケンスGOLD F20 に対して,プロシージャEVE_TRANSPOSEを定義する。
【15】
この文はプロシージャTPU$LOCAL_INITを呼び出す。このプロシージャが実行され,EVE の新しい省略時の設定が作成される。
【16】
新しいセクション・ファイルを作成するために,SAVE文が含まれている。 セクション・ファイルのデバイス,ディレクトリ,ファイル名は, 括弧と引用符で囲んで指定する。
【17】
QUITコマンドはEVE 処理を終了し,制御をDCLプロンプトに戻す。

A.8 初期化ファイルの作成

キーの定義や編集セッションの特性の設定を会話形式で行う代わりに, 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から終了するときにどのように属性をセーブするかを示しています。

     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 コマンドを使用します。 ただし,このコマンドは現在の編集セッションには適用されません。 終了時のチェックはそれ自体がグローバル設定であり,セクション・ファイルまたはコマンド・ ファイルにセーブできるものだからです。設定をセーブした後, そのセクション・ファイルまたはコマンド・ファイルを使用する以降の編集セッションにその設定が適用されます。

その他のグローバルな属性(スクロール・マージンやワイルドカードの種類など) および個々のバッファの属性(マージンやタブ・ストップなど) は,セクション・ファイルやコマンド・ファイルにはセーブされません。 通常,これらの設定に対しては初期化ファイルを使用します。

A.9.2 将来の編集セッションでのカスタマイズの使用

すべてのカスタマイズ内容を将来の編集セッションで使用できるようにする方法がいくつかあります。 次の方法で,異なる種類のスタートアップ・ ファイルを結合することができます。

A.10 EVEスタートアップ・ファイルでのキー定義

この節では,EVE属性と機能をもとにコマンドを分類し,これらのコマンドをセーブできるスタートアップ・ ファイルのタイプを示します。スタートアップ・ ファイルに定義とプロシージャを登録すると,エディタを起動するときに, タスクで必要とされる編集環境を自動的に設定できます。

次の表は,キー定義と,そのキー定義を使用できるファイルのタイプを示しています。

キー定義 セクション コマンド 初期化
DEFINE KEY X X X
LEARN X - -
SET FUNC KEYS [NO]DECWINDOWS X X X
SET [NO]GOLD KEY X X X
SET KEYPAD [NO]EDT X X X
SET KEYPAD [NO]WPS X X X
SET KEYPAD VT100 X X X
SET KEYPAD NUMERIC X X X
UNDEFINE KEY X X X

A.10.0.1 グローバル設定1

次の表は,グローバル設定1と,それを使用できるファイルのタイプを示しています。

グローバル設定1 セクション コマンド 初期化
SET BOX [NO]PAD X X X
SET BOX [NO]SELECT X X X
SET CURSOR FREEまたはBOUND X X X
SET [NO]CLIPBOARD X X X
SET [NO]DEFAULT COMMAND FILE X X X
SET [NO]DEFAULT SECTION FILE X X X
SET [NO]EXIT ATTRIBUTE CHECK X X X
SET FIND CASE [NO]EXACT X X X
SET [NO]PENDING DELETE X X X
SET [NO]SECTION FILE PROMPTING X X X
SET TABS INSERT, MOVEMENT, またはSPACES X X X
SET TABS [IN]VISIBLE X X X

A.10.0.2 グローバル設定2

次の表は,グローバル設定2と,それを使用できるファイルのタイプを示しています。

グローバル設定2 セクション コマンド 初期化
SET FIND [NO]WHITESPACE - - X
SET SCROLL MARGINS - - X
SET WIDTH - - X
SET WILDCARDS VMSまたはULTRIX - - X

A.10.0.3 バッファ設定

次の表は,バッファ設定と,それを使用できるファイルのタイプを示しています。

バッファ設定 セクション コマンド 初期化
FORWARDまたはREVERSE - - X
INSERT MODEまたはOVERSTRIKE MODE - - X
SET BUFFER - - X
SET [NO]JOURNALING ALL - - X
SET LEFT MARGIN - - X
SET PARAGRAPH INDENT - - X
SET RIGHT MARGIN - - X
SET TABS ATまたはEVERY - - X
SET [NO]WRAP - - X

DECTPUプロシージャは,セクションおよびコマンド・ファイル内では使用できますが, 初期化ファイル内では使用できません。

A.10.1 セクション・ファイルへのセーブ

セクション・ファイルをセーブするには,SAVE EXTENDED EVEコマンドまたはSAVE ATTRIBUTES コマンドを使用します。SAVE EXTENDED EVEコマンドを使用する場合, コマンド行上でセクション・ファイルを指定するか, EVEにセクション・ファイル名のプロンプトを表示させることができます。SAVE ATTRIBUTES コマンドを使用する場合は,プロンプトへの応答としてセクション・ ファイルを指定します。

セクション・ファイルへのセーブを高速化するために,省略時のセクション・ ファイルを設定し,セクション・ファイル名のプロンプトを表示しないようにすることができます。 省略時のセクション・ファイルとは,属性をセーブするたびにファイルを指定しなくても属性がセーブされるセクション・ ファイルです。

たとえば,次のコマンドは属性と他のカスタマイズされた設定を,現在のディレクトリ内のMYSEC.TPU$SECTION というセクション・ファイルにセーブします。

     Command: SAVE ATTRIBUTES
     Save attributes in a section file [YES]? <Return>
     File to save in: mysec
     DISK$1:[USER]MYSEC.TPU$SECTION;1 created

次の表は,省略時のセクション・ファイルとセクション・ファイル・プロンプトの設定の影響を示しています。

コマンドの設定 SAVE ATTRIBUTESの効果
SET DEFAULT SECTION FILE
SET SECTION FILE PROMPTING
属性をセーブするとき, セクション・ファイルにセーブするかどうかが尋ねられる。Yesを指定すると( 省略時の応答),省略時のセクション・ファイルにセーブされる。 Noを指定すると,コマンド・ファイルにセーブするかどうかが尋ねられる。
SET DEFAULT SECTION FILE
SET NOSECTION FILE PROMPTING
属性をセーブするとき, プロンプトを表示せずに省略時のセクション・ファイルにセーブされる。
SET NODEFAULT SECTION FILE
SET SECTION FILE PROMPTING
省略時の設定である。属性をセーブするとき, セクション・ファイルにセーブするかどうか尋ねられる。Yes を指定すると,セクション・ファイル名の入力を求めるプロンプトが表示される。No を指定すると,コマンド・ファイルにセーブするかどうか尋ねられる。
SET NODEFAULT SECTION FILE
SET NOSECTION FILE PROMPTING
属性をセーブするとき, コマンド・ファイルにセーブするかどうかが尋ねられる。

通常,SET DEFAULT SECTION FILEを使用する場合,将来の編集セッションのスタートアップ時に使用するセクション・ ファイルを指定します。このコマンドは, エディタの起動時に実行されるセクション・ファイルを決定するものではなく, 属性や他のカスタマイズした設定をセーブするために使用するセクション・ ファイルを指定するものです。スタートアップ時に実行されるセクション・ ファイルを指定するには,次のいずれかを行います。

実行されるセクション・ファイルを指定するとき,デバイス(またはディスク) とディレクトリを含めた完全なファイル指定を使用しなければなりません。 そうしないとDECTPUはセクション・ファイルがSYS$SHAREにあるものと見なします。

セクション・ファイルは,そこへセーブするカスタマイズされた設定の数によってはかなり大きくなることがあります。 ディスク領域が限られている場合は, ディスク領域をそれほど必要としないコマンド・ファイルにセーブするとよいでしょう。 セクション・ファイルの作成および使用についての詳しい説明は,EVE オンライン・ヘルプの「Section Files」というトピックを参照してください。

A.10.2 コマンド・ファイルへのセーブ

SET ATTRIBUTESコマンドを使用する場合,または終了時や取り消し終了時に属性をセーブする場合, コマンド・ファイルの自動作成や自動更新を行うことができます。 属性をコマンド・ファイルにセーブするには,次のようにSET ATTRIBUTES コマンドを使用します。

     Command: SAVE ATTRIBUTES
     Save attributes in a section file [YES]? no
     Save attributes in a command file [YES]? <Return>
     Enter file name [TPU$COMMAND.TPU] MYCOM
     14 written to file DISK$1:[USER]MYCOM.TPU;1

コマンド・ファイル名の入力を求めるプロンプトには,省略時のコマンド・ ファイルが大括弧で囲まれて表示されます。この省略時のファイルは, プロンプトに対してファイル名を入力せずに Returnキーを押した場合に使用されます。 この省略時のファイルは次のいずれかです。

自分に合った省略時のコマンド・ファイルを設定できます。省略時のコマンド・ ファイルとは,属性をセーブするたびにファイルを指定しなくてもEVE が作成または更新するコマンド・ファイルを指します。たとえば,次のコマンドは, 省略時のコマンド・ファイルとして現在のディレクトリにあるMYCOM.TPU を設定します。

     Command: SET DEFAULT COMMAND FILE MYCOM

セクション・ファイルではなくコマンド・ファイルにセーブしたい場合, SET NOSECTION FILE PROMPTINGコマンドも使用するようにします。すると, 属性をセーブするときに,コマンド・ファイルにセーブするかどうかについてだけが尋ねられます。 つまり,セクション・ファイルにセーブするかどうかについては尋ねられません。

SET DEFAULT COMMAND FILEを使用する場合,通常は将来の編集セッションのスタートアップ時に使用するコマンド・ ファイルを指定します。このコマンドは,EVE の起動時に実行されるコマンド・ファイルを決定するものではなく, 属性およびメニュー定義をセーブするコマンド・ファイルを決定するものです。 スタートアップ時に実行するコマンド・ファイルを指定するには, 次のいずれかを行います。

コマンド・ファイルの作成および使用についての詳しい説明は,EVEオンライン・ ヘルプの「Command Files」というトピックを参照してください。

A.11 EDTからEVEへの変換

EDTエディタに慣れている場合,セクション・ファイル,初期化ファイル, またはその両方,またはDECTPUプロシージャを使用して,EVEが同じように動作するようカスタマイズすることができます。

通常,キー定義,学習シーケンス,およびその他の拡張はセクション・ファイル(SAVE EXTENDED EVE コマンドで作成されたファイル)にセーブします。 マージンやタブなどの編集時の設定や個人的な省略時設定をセーブするには,EVE 初期化ファイルを使用します。これらはセクション・ファイルにはセーブされません。

A.11.1 SET KEYPAD EDTコマンドの使用

SET KEYPAD EDTコマンドは,EDTをエミュレートするためのいくつかのキーを定義します。 このコマンドをEVE初期化ファイルに入れたり,キーパッド設定をセクション・ ファイルにセーブしたりできます。ほとんどのキーパッド・ ファンクションは,名前が違っていてもEDTの場合と同じように働きます。 詳細は,オンライン・ヘルプの「EDT Differences」というトピックを参照してください。

A.11.2 EVEコマンドのためのキーの定義

SET KEYPAD EDITで定義できないキーを定義するには,DEFINE KEYコマンドを使用します。 キー定義のためのコマンドを初期化ファイルに入れるか, 定義をセクション・ファイルにセーブします。

たとえば,次のEDTとEVEのキー定義の組み合わせは同じ意味です。

EDTの場合:

     DEF KEY  GOLD 2    "EXT SHOW BUFFER."
     DEF KEY  GOLD l    "CHGLW."
     DEF KEY  GOLD u    "CHGUW."
     DEF KEY  GOLD 10   "EXT FIND=?.."
     DEF KEY  GOLD 9    "CUTSR PASTE."
     DEF KEY  cont n    "EXT QUIT."
     DEF KEY  func 34   "SHL."

EVEの場合:

     DEF KEY=  GOLD E2   SHOW BUFFERS
     DEF KEY=  GOLD l    LOWERCASE WORD
     DEF KEY=  GOLD U    UPPERCASE WORD
     DEF KEY=  GOLD PF2  BUFFER
     DEF KEY=  GOLD KP9  STORE TEXT
     DEF KEY=  Ctrl/N    QUIT
     DEF KEY=  F20       SHIFT RIGHT 8

EDTとEVEの間のいくつかのキー名の違いやコマンド名の違いに注意してください。 キー名についての詳細は,第A.1 節を参照してください。

A.11.3 固定カーソルの移動の設定

EDTスタイルの固定カーソルを有効にするには,SET CURSOR BOUNDコマンドを使用します。 省略時の設定では,EVEはバッファ内のどこへでも移動可能な自由カーソルを使用します。 この設定は,セクション・ファイルまたはDECTPU コマンド・ファイルにセーブできます。

A.11.4 テキスト自動改行のための右マージンの設定

テキスト入力時またはFILLコマンド使用時の自動改行位置を設定するには,SET RIGHT MARGIN コマンドをEVE初期化ファイルに指定します。たとえば, 次のEDTおよびEVEのコマンドは同じ意味です。

EDTの場合:

     SET WRAP 70

EVEの場合:

     SET RIGHT MARGIN 70

EVEコマンドのSET WRAPは,EDTコマンドのSET NOTRUNCATEに対応します。

A.11.5 カーソル移動のためのスクロール・マージンの設定

カーソルを上下に移動させたときに自動的にスクロールが始まる距離を設定するには,SET SCROLL MARGINS コマンドをEVE初期化ファイルに入れます。 たとえば,24行のターミナル画面(メイン・ウィンドウは21行)の場合, 次のEDTコマンドとEVEコマンドは同じ意味です。

EDTの場合:

     SET CURSOR 5:15

EVEの場合:

     SET SCROLL MARGINS 5 6

EVEのスクロール・マージンは最上部からと最下部からの数で指定します。EDT では,どちらのスクロール・マージンも最上部から数えます。ウィンドウ・ サイズの割合か行数で指定できます。また,EVEメイン・ウィンドウのサイズはターミナル設定によって異なります。 たとえば,ワークステーションでは,EVE のメイン・ウィンドウは21行より大きくなることがあります。

A.11.6 大文字と小文字を正確に区別する検索の設定

検索処理では,EVEの大文字と小文字の区別の規則に従います。検索時の大文字と小文字の区別について設定するには,SET FIND コマンドをEVE初期化ファイルに入れます。 たとえば,次のEDTコマンドとEVEコマンドはほとんど同じです。

EDTの場合:

     SET SEARCH EXACT

EVEの場合:

     SET FIND CASE EXACT

これらのコマンドは,全く同じわけではありません。EVEでは,発音区別符号は検索文字列に入力されたとおりに常に正確に照合されるからです。

A.11.7 EDTマクロからDECTPUプロシージャへの変換

EDTマクロの代わりにDECTPUプロシージャを使用します。プロシージャを含むバッファを作成し,EXTEND コマンドを使用してEXTENDコマンドとともにプロシージャをコンパイルします。 または,プロシージャをDECTPUコマンド・ ファイルに入れ,/COMMAND修飾子を使用してEVEを起動します。どちらの場合にも, コンパイルされたプロシージャをセクション・ファイルにセーブすることができます。

LEARNコマンドを使用して,対応するEVEコマンドを1つのキーに結合することもできます。 その後,キー定義をセクション・ファイルにセーブできます。 別の方法として,対応するEVEコマンドを初期化ファイルに入れることもできます。

次の例は,EDTスタートアップ・ファイルからDECTPUプロシージャに変換されたマクロを示しています。 それぞれ,新しいコマンドWIDENを作成します。 このコマンドは,表示を132桁に設定し,右マージンを120に設定します。

EDTマクロ:

     FIND =WIDEN
     INSERT;SET SCREEN 132
     INSERT;SET WRAP 120
     FIND =MAIN.

DECTPUプロシージャ:

     PROCEDURE EVE_WIDEN;
        EVE_SET_WIDTH (132);
        EVE_SET_RIGHT_MARGIN (120);
     ENDPROCEDURE;

マクロまたはプロシージャを実行するには,次のコマンドを使用します。

EDTの場合:

     * DEFINE MACRO WIDEN
     * WIDEN

EVEの場合:

     Command: EXTEND EVE WIDEN
     Command: WIDEN

A.11.8 EDT非キーパッド文からDECTPUプロシージャへの変換

通常は,非キーパッド指定子を使用するEDTマクロおよびキー定義をDECTPU プロシージャまたは学習シーケンスに変換できます。次の例は, 非キーパッド・モードを使用するEDTキー定義と,対応するDECTPUプロシージャおよびキー定義を示しています。 どちらも,数値キーパッド上のコンマを現在の文字と前の文字を交換して入れ換えるためのキーとして定義します。EDT 非キーパッド文の-Cは,DECTPUプロシージャではMOVE_HORIZONTAL (-1) に変換されます。

EDTの場合:

     DEFINE KEY 19 AS "-C D1C +C UNDC."

DECTPUの場合:

     PROCEDURE USER_TRANSPOSE
        LOCAL  SWAP_THIS;

        SWAP_THIS  :=  ERASE_CHARACTER (1);

        MOVE_HORIZONTAL (-1);
        EVE$INSERT_TEXT (SWAP_THIS);
        RETURN (TRUE);
     ENDPROCEDURE;

     EVE$DEFINE_KEY ("USER_TRANSPOSE", COMMA, , EVE$X_USER_KEYS);

A.11.9 WPSキーパッド・ルーラ・キーの使用

EDTキーパッドを設定しても,EDTスタイルのタブ調整のためのキーは定義されません。 ただし,WPSキーパッドRulerキー(GOLD R)としてのキーを定義して, タブ・ストップを追加または削除するためにそのルーラを使用することによって, 同じような効果を得ることができます。

たとえば,次のコマンドはF20をWPS Rulerキーとして定義します。WPSキーパッドを有効にする必要はありません。

     Command: DEFINE KEY= F20  WPS GOLD-R

この後にタブ・ストップを追加または削除するには,次の手順に従ってください。

手順 操作
1 Rulerキーとして定義したキーを押す。

現在のウィンドウの最下部(ウィンドウのステータス・ラインのすぐ上)にルーラが表示される。 カーソルはルーラ内に表示される。タブ・ストップは Tでマークされる。

2 タブ・ストップを追加または削除したい位置にカーソルを置く。たとえば, ルーラ内の特定の桁まで移動するには左および右の矢印キーを押し, ルーラ内の次のタブ・ストップ(T)に移動するには,Tab キーを押す。
3 タブ・ ストップを設定したい位置でTまたはtを入力する。タブが既にそこにある場合は, そのタブ・ストップが削除される。新しいタブ・ ストップは編集中のバッファにすぐに適用される。
4 その他のタブ・ストップを追加または削除するには, 手順2と3を繰り返す。
5 ルーラを終了して編集を再開するには,ReturnキーまたはGOLD Return を押す。

WPS Rulerキーについての詳細は,ルーラ内でカーソルを移動するためのキーの一覧も含めて, 『Guide to the Extensible Versatile Editor』のSET KEYPAD WPSコマンドの説明を参照してください。


[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]