」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」 VZ Editor Version 1.00    オンラインマニュアル 」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」 Copyright (C) 1989 by c.mos Published by Village Center はじめに 「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「  このたびは、VZエディタをお買い求め頂きまして、誠にありがとうございます。  VZエディタ(略してVZ)は、今後、MS−DOSマシンの標準エディタとなる べく、十分な性能と操作性および柔軟性をもった高機能ツールです。その設計思想は、 ユーザー一人一人の嗜好に合せて、最大限の使い易さを実現する事にあります。その ため、他に類をみないカスタマイズ機能の充実と、強力なマクロ機能を有するに至り ました。どうか皆様方が、マニュアルを御詳読の上、それぞれ御自分に合ったVZ で、最高の操作性を体験される事を願います。  ここで改めて、VZの開発に際し、甚大なる御協力を賜わったモニタユーザーの方 々に、心から感謝いたします。 1989年5月 兵藤嘉彦(c.mos)   目 次 「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「 %A 序 章 VZを使うまえに 0.1 VZエディタとは 0.2 動作環境 0.3 表記法について %B 第1章 Q&A %C 第2章 VZの起動 2.1 コマンドラインの書式 %D 2.2 環境変数 %E 2.3 起動時オプション %F 第3章 ファイル操作 3.1 ファイル入出力 %G 3.2 マルチファイル %H 3.3 プロファイル機能 %I 第4章 スクリーンエディット 4.1 ラインエディット %J 4.2 カーソルの移動 %K 4.3 カット&ペースト %L 4.4 文字列の操作 %M 4.5 その他のコマンド %N 第5章 ファイラー 5.1 ファイラーの概要 5.2 ファイラーの基本操作 5.3 メニューコマンド %O 第6章 DOSコマンドの実行 6.1 コマンドラインの操作 %P 6.2 エイリアス %Q 6.3 コマンドの連続実行 %R 6.4 コンソール出力の取込み %S 6.5 常駐モード %T 第7章 VZのカスタマイズ 7.1 カスタマイズの概要 %U 7.2 定義ファイルの書式 %V 第8章 VZのマクロ機能 8.1 マクロの概要 %W 8.2 マクロの操作 %X 8.3 マクロ言語仕様 %A 序 章 VZを使うまえに 「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「 0.1 VZエディタとは 0.2 動作環境 0.3 表記法について ■■■ 0.1 VZエディタとは ■■■  VZエディタは、次のような数々の特徴を備えた、高性能ツールです。 【高性能エディタとして】 %a・複数(10個以上可)のテキストを2ウィンドウ(縦/横分割)表示 ・テキスト中のカーソル位置を視覚的に表示するインジケータ %b・美しいスムーススクロール(シフトキーによる高速モード/センスモード付き) %c・タイトル行サーチによる、論理ページング %d・テキストスタックによる、行/ブロックの連続削除/挿入/複写 ・行単位/文字単位のブロック境界(自動切替え) ・表示行番号モード、ページ数指定によるページ表示 %e・検索時の英大/小文字非識別モード、改行文字の指定 %f・複数ファイルでの文字列検索/置換(マクロによる) %g・終了時のテキストでエディットを再開するプロファイル機能 %h・拡張子の省略/複数パス指定によるファイルサーチ %i・ファイル拡張子によるタブカラム数(8/4)の自動切換え %j・FEP(VJEβ、松茸、ATOK)の自動ON/OFF ・[GRPH]、[NFER]キー対応(ezkey.com組込み時) ・20/25行モード対応 ・ハイレゾリューションモード(25/31行)対応 【DOS環境ツールとして】 %k・各種文字列入力時の、ヒストリー機能(学習機能、先頭文字列による検索有り) %l・常駐モードにより、コマンドラインからワンキーで起動 ・アプリケーションから、常駐しているVZを呼び出し可能 %m・エイリアス、マルチステートメント、環境変数の展開 %o・コンソール出力の取込み機能による、エラーリスティングからのタグジャンプ %p・多機能ファイラー(選択ファイルに対するコマンド連続実行可能) ・各種ホットキー機能をサポートした、ezkey.com 付属 【ユーザーフレンドリーな設計】 ・全てのキー割当て、メニュー、タイトル、カラー等は自由に設定可能 ・幅広いニーズに対応する、数種類の定義ファイル付属 ・操作モードに応じたオンラインヘルプ %q・Cライクな言語仕様、BASICライクなデバック環境を備えた、強力なマクロ  機能(各種サンプルマクロ付属) ・オールアセンブラ記述により、高速・軽量(本体40KB、メモリ上52KB ※) ・全ソース付属 ※ 裏グラフィックVRAM使用時 ■■■ 0.2 動作環境 ■■■  VZの動作環境は、次のとおりです。 ハードウェア: PC−9801シリーズ全機種(LTを除く) PC−98XA/XL/XL2/RL (ハイレゾリューションモード対応) PC−286/386シリーズ 動作OS  : NEC製MS−DOS2.11以降 (一部の初期バージョンを除く) 動作メモリ : 256KB以上(他の組み込みソフトによる) ディスプレイ: 漢字表示の可能なもの ■■■ 0.3 表記法について ■■■  このドキュメントでは、次のような表記法を用いています。 【コマンドの書式】 [ ... ] 括弧の中の項目を、必要に応じて入力します。(省略も可能) { ... } 括弧の中の項目を、必要に応じて複数個入力します。(省略も可能) < ... > 該当する内容の入力を意味します。 <スペース> 一つ以上のスペースまたはタブを入力します。 <タブ> 一つのタブコードを入力します。 ... ... 各項の間は<スペース>で区切ります。 数値(10進数)を入力します。 .. | .. いずれかの項目を入力します。 A>... DOSのコマンドライン入力を意味します。 【各種キーの表記】 ^C [CTRL]+[C] ^[→] [CTRL]+[→] \[CR] [SHIFT]+[リターン] \[f・1] [SHIFT]+[f・1] @A [GRPH]+[A] (標準では使用しません) 【その他の表記】 ァァァァァァァァァ [TAB] :タブ 基本コマンド/マクロコマンド ァァァァァァァァァ オプション(英大/小文字は任意) 《・・・・・・・・・・・・》 画面最下行に黄色で表示されるメッセージ 『入力ファイル』 ウィンドウ、メニューのタイトル %B 第1章 Q&A 「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「 ■Q:このドキュメントは、マニュアルの代りになるの?  本ドキュメントには、VZを使用する上で最低限必要な情報しか記載されていませ ん。本来ならば添付のマニュアルだけで事足りるわけですが、いちいちマニュアルを 引くのは面倒、という方のための使い勝手を考慮して、同梱しておきました。 ■Q:VZを起動するのに必要なファイルはどれ?  VZを起動するには、vz.com と vz.def の2つのファイルが必要です。 vz.defは標準のDEFファイルです。 ■Q:DEFファイルってなに?  DEFファイルは、キー配置、メニュー、オプション、マクロ等各種情報を記述した定 義ファイルで、起動時に読み込みます。vz.def ファイルが、デフォルトのDEFファイル です。これを変更することで、VZの操作環境を自由に定義できます。 ■Q:他のDEFファイルで起動するには?  例えば、mi.defで起動する場合は、 A>vz /mi とします。また、set vzdef=mi のように、デフォルトのDEFファイルを設定できます。 ■Q:いちいちDEFファイルを読み込まないと起動できないの?  DEFファイルは、 A>vz -w とすることで、vz.com本体に組込まれます。取外す時は、 A>vz -w- として下さい。%ア ■Q:オプションにはどんなものがあるの? %イ  VZでは、vz.defファイルの * O オプション 以降に記述された各種オプションが 指定できます。これらは、この箇所を直接書換えて変更できますし、コマンドラインで A>vz -an6 の様に、起動時に指定することもできます。 ■Q:ヘルプ機能は?  [HELP]キーで、そのモードで有効なコマンドヘルプを表示します。この時、任意の コマンドキーを入力すると、そのキーの機能を表示します。  また、カーソル位置に次の文字がある場合は、別の動作をします。 # :続く英数字が示すコマンドを表示 % :関連する箇所を順次サーチ ■Q:キー配置は、どのエディタに近いの?  基本的な編集キーは、WordStar(TM)に準拠しています。 %c ■Q:画面上左端の[P]表示はなに?  これは、現在のページングモードを表します。 従来のエディタでは、^R,^C でページングを行ないますが、VZでは、次の3種類の機 能をモード切替えで実行できます。  P(表示ページング) 全画面/半画面、上下に移動します。  C(論理ページング) 行頭のスペース・タブを除いた最初の文字が[ * / ; = ^L ]で、直前が空行 (改行のみ)の行(タイトル行)をサーチします。  S(文字列検索) ^QF ^L で設定された文字列を検索します。  これらのモードの切換えは、^@(\[INS])キーで行ないます。 ■Q:画面上左端の[□]表示はなに? %ウ  これは、ブロックモードを表します。^B を実行すると、[□]が反転し、 ブロックモードになります。ブロックを対象にするコマンドは、次のとおりです。 ァァァァァァァァァァァァァァァァァァァァ ^Y [F08] :行・ブロック削除 ^KK \[F08] :行・ブロック記憶 ^QA [F07] :文字列の置換 ^L [F05] :検索文字列の取得 ^KH :インデントの変更 [ESC]S :ファイルのセーブ [ESC]A :既存ファイルへ追加 ァァァァァァァァァァァァァァァァァァァァ 再度 ^B を実行すると、ブロックはキャンセルされます。 ■Q:ブロックモードにしてカーソルを上下→左右に移動すると・・  ブロックモードにした後、カーソルを上下に移動すると、行単位のブロック、左右に 移動すると、文字単位のブロックとなります。 ■Q:矩形ブロックは使えないの?  block.def マクロを組み込むことで、矩形ブロックが使用できます。使い方は、 block.def ファイルのコメントをご覧ください。 A>vz +block ... で起動時に指定するか、または vz.def ファイルの最後の部分に *E その他 1 block と記述しておけば、常時使用できます。 ■Q:20行モードにすると最上行のインジケータの形がおかしい・・  これは、ハードウェアの制約によるもので、故障ではありません。 ■Q:^QF で文字列を検索しようとしたけど・・ %エ  ^QF は検索文字列を設定するだけです。実際の検索は、^R,^C で実行します。 検索が終了したら、^@ でページングモードを元に戻して下さい。 ■Q:テキスト中の文字列を検索したい場合は? %オ  ^L でカーソル位置のワード、またはブロックの内容を検索文字列に設定できます。 %k ■Q:ヒストリー機能ってなに?  ヒストリー機能は、ファイル名、検索文字列、DOSコマンド等の文字列入力時に、 以前入力した文字列を呼び出す機能で、次のキーで操作します。 [↑] [↓] :ヒストリーを順次表示 str[↑] :strで始まる文字列を順次表示 これは学習機能を備えており、あらたに選択したものが常に先に表示されます。 また、vz.defファイルの * H ヒストリー の項に、ヒストリーで呼び出す文字列の初期 値を定義できます。 %j ■Q:FEPのコントロールは?  VJEβ、松茸2、ATOK6のいずれかのFEPが組込まれている場合には、スク リーンエディットモードから抜ける際に、FEPを自動的にOFFします。この機能は オプションで抑止できます。また、オプションを指定すると、起動後ただち にFEPをONします。  FEPをバンクRAM上に置いている等の事情で、FEPの自動識別が正常に動作し ない場合は、オプションでFEPのタイプを指定して下さい。 ■Q:キーボードマクロを使うは? %カ  ^_ <一連のキー操作> ^\ で、^\ にキー操作が登録されます。^\ は、使用していな い他のキー(^O等)でも結構です。 ■Q:1行の最大長はどのくらい?  標準設定では1KBまでですが、オプションで8KB程度まで拡大できます。 ただし、この範囲を越える長い行があった場合でも、見るだけなら、強制的に改行が挿 入されることはありません。 ■Q:たくさん機能があるけど、できないことはないの?  VZは、従来のエディタがもつほとんどの機能をサポートしていますが、現版では、 以下の機能は実現できません。 ・正規表現による文字列検索 ・3つ以上のウィンドウ表示 ・1つのテキストの2ウィンドウ表示 ・改行コード(LF)の含まれない大きなファイルの編集 これ以外でサポートしていない機能の多くは、マクロで記述できるでしょう。 ■Q:ファイルをいくつかオープンしていたら、 《メモリが足りません。》 といわれ、オープンできなくなった。  標準設定では、オプションで、テキストバッファを64KBに設定してありま す。このため、64KB以上のファイルをいくつかオープンすると、すぐにメモリが消 費されてしまいます。こんな時には、指定でテキストバッファを小さく設定して 下さい。 ■Q:編集中に、突然 《テンポラリファイルエラー》 と表示された。  テンポラリディスクの空き領域が足りません。直ちに[ESC]Qでエディタを終了して下 さい。  64KB以上の大きなファイルを編集する場合には、テンポラリファイルを作成しま す。これは通常カレントディレクトリに作成されますが、RAMディスク等をお使いの 場合は、そのパスを環境変数 TMP に設定して下さい。 [例] A>set tmp=e: %C 第2章 VZの起動 「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「 2.1 コマンドラインの書式 2.2 環境変数 2.3 起動時オプション ■■■ 2.1 コマンドラインの書式 ■■■  VZを起動する際のコマンドライン引数の書式は、次の通りです。 [書式] A>vz {-<オプション>} [/]{+} [<入力ファイル指定>] 【入力ファイル指定】  以下の書式で、読み込むファイルを指定します。 [書式1] {<ファイル名> [-<行番号>]} [書式2] <パス名>|<ファイルマスク> [書式3] @[<ファイル名>] ◎[書式1]では、指定したファイルを順次読み込み、-<行番号> が指定されている場  合には、カーソルをその行へ移動します。標準設定では、最大10個のファイルを同  時に読み込めます。(オプションで変更可能)  [例] a:readme.doc -100 c:\h\stdio.h c:\h\sys\stat.h %h また、ファイルの拡張子、またはディレクトリを省略した場合は、カレントディレクト リにそのファイルが存在しない時、以下の要領でファイルをサーチします。 ・拡張子を省略した場合  以下の拡張子のファイルをサーチ .doc .txt .bat .def .h .c .inc .asm  (DEFファイルで変更可能 %キ)  [例] a:readme c:\h\stdio ・ディレクトリを省略した場合  環境変数 VZPATH で設定したパスをサーチ %ク  [例] A>set vzpath=\doc c:\h stdio.h → c:\h\stdio.h sys\stat.h → c:\h\sys\stat.h ★注意★ ディレクトリも拡張子も省略した場合には、拡張子のサーチのみ行ないます。 ◎[書式2]では、ファイラーが起動し、指定したディレクトリ・マスクのファイルを  表示しますから、この中からファイルを選択します。 %ケ  [例] [CR]のみ *.doc b: c:\h\ c:\h\*.h ★注意★ ディレクトリを指定する際には、終りに \ を付けて下さい。 ◎[書式3]では、指定したピックファイル(省略時"editfile")に記述されたファイ  ルリストを参照して、ファイルを読み込みます。 %g 【オプション】  VZの各種モード/サイズを、- 記号に続いて指定します。書式は次の通りです。 [書式] -<オプション名>[+|-|n] + または何も付加しない場合は、該当するスイッチをON、- はOFFします。  [例] -du -dc- -an6 この例では、カーソル行アンダーラインを表示し、CRを表示せず、テキストカラーを 黄色(6)に設定します。 %イ ★注意★ コマンドラインでのオプション指定は、DEFファイル中での設定より優先し ます。 【DEFファイル】  起動時に読み込むDEFファイルを指定します。 %ア %D ■■■ 2.2 環境変数 ■■■  VZは、起動時に次の3つの環境変数を参照します。 VZDEF VZPATH TMP ★注意★ VZ実行中に、set コマンドにより環境変数を変更することはできません。 また、VZDEF VZPATH の先頭の"VZ"は、VZのコマンド名があてられます。 [例] A>rename vz.com ez.com でコマンド名を"ez"に変更すると、 EZDEF EZPATH TMP が参照されます。 【VZDEF】  DEFファイルのディレクトリ、および最初に読み込むDEFファイルのファイル名を指定 します。 %ア  VZDEFを設定しない場合は、vz.comの起動パスで読み込みます。 [例] A>set vzdef=vze.def (起動パスのvze.def) A>set vzdef=\def\vze (\def\vze.def) A>set vzdef=\def\ (\def\vz.def) ★注意★ ディレクトリのみ指定する際は、終りに \ を付けて下さい。 %ク 【VZPATH】  入力ファイル名でディレクトリを省略した場合の、サーチパスを設定します。 各々のディレクトリは、<スペース>で区切ります。 [例] A>set vzpath=c:\h c:\inc 【TMP】  テンポラリファイルのパスを指定します。TMPを設定しない場合は、起動時のカレン ト ディレクトリが設定されます。 [例] A>set tmp=c:\tmp %E%イ ■■■ 2.3 起動時オプション ■■■  VZは、たいへん多くのオプションを備えています。これらは、vz.defファイルにコ メントが記してありますので、そちらを参照して下さい。ここでは、vz.defファイルに 記述のない特殊オプションと、特にコメントの必要ないくつかのオプションについて 説明します。 ★注意★ オプションの大文字/小文字の区別はありません。 Z VZを常駐/解放させます。 %l W[-] DEFファイルを vz.com 本体に組込む/取り去ります。%ア R[] 起動後、ただちに指定のマクロを実行します。 GV 裏グラフィックVRAM使用モードを設定します。 0 = 使用せず 1 = A800h 〜 B7FFh 2 = B000h 〜 BFFFh 3 = B800h 〜 BFFFh , E000h 〜 E7FFh ※ 裏VRAMを持たない機種では、表VRAMが使用されます。 ※ GV3 は、16色表示の可能な機種のみ使用できます。 Ci Co 挿入モード(Insert)、上書モード(Overwrite)のカーソル形状を 設定します。 +8 +4 +2 +1 x x 0 0 フルサイズ x x 0 1 1/2 サイズ x x 1 0 1/4 サイズ x x 1 1 アンダーバー 0 0 x x 常時点灯 0 1 x x 通常速度の点滅 1 0 x x 1.5倍速度の点滅 1 1 x x 2倍速の点滅 WL ウィンドウの表示位置を設定します。 +8 +4 +2 +1 x x x 1 ←よせ x x 1 x ↑よせ x 1 x x Hセンタリング 1 x x x Vセンタリング A? 各種表示属性を設定します。 +16 +8 +4 +2 +1 x x 0 0 0 黒 x x 0 0 1 青 x x 0 1 0 赤 x x 0 1 1 紫 x x 1 0 0 緑 x x 1 0 1 水色 x x 1 1 0 黄 x x 1 1 1 白 x 1 x x x リバース 1 x x x x アンダーライン %F 第3章 ファイル操作 「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「 3.1 ファイル入出力 3.2 マルチファイル 3.3 プロファイル機能 ■■■ 3.1 ファイル入出力 ■■■  ファイル入出力関連のコマンドは、 ァァァァァァァァァァァァァァァァァァァァ [F01][ファイル] 『ファイルメニュー』 ァァァァァァァァァァァァァァァァァァァァ ァァァァァァァァァァァァァァァァァァァァ [ESC]+[A|C|D|E|I|L|N|O|P|Q|R|S|U|X] ァァァァァァァァァァァァァァァァァァァァ (Append, Close, Duplicate, Exec, Insert, Load, New, Open, Path,  Quit, Readonly, Save, Undo, eXit) で実行できます。各コマンドの説明は省略させて頂き、以下のコメントを補足しておき ます。 ◎ ファイル名は、フルパスで管理されています。表示されるファイル名は、オープン  された時点でカレントドライブ・ディレクトリと比較され、一致する先頭部分は表示  されません。(オプションを指定すると、常にフルパス名を表示します。) ◎ 編集中のファイルをもう一つオープンする場合は、[ESC]R,[ESC]D コマンドをお使  い下さい。 ◎ ブロックモードで[ESC]S,[ESC]A コマンドを実行すると、指定範囲の内容が出力  されます。 ◎ リードオンリー属性のファイルをオープンすると、自動的に R属性になります。 %G%a ■■■ 3.2 マルチファイル ■■■  マルチファイルの操作は、次の4つのコマンドで行ないます。 ァァァァァァァァァァァァァァァァァァァァ [F02](窓換) :ウィンドウ切替え [F03](文換) :編集テキスト切替え [F04](窓割) :分割モード切替え \[F04](窓動) :分割位置の変更 ァァァァァァァァァァァァァァァァァァァァ [ESC]O コマンドで3つ以上のファイルを読み込んで、お試しください。 %H%g ■■■ 3.3 プロファイル機能 ■■■  「プロファイル機能」とは、エディタ終了時に、編集時の情報(編集ファイル名、 カーソル位置)を指定ファイルに出力し、起動時にその内容を参照して、編集を再開 する機能です。  VZでは、[ESC]Qコマンドでエディタを終了する時、オプションが指定されて いると、DEFパス(VZDEFで指定したDEFファイルの読み込みパス)の editfile という ファイルに、編集情報を出力します。 ★注意★  editfile が存在しない場合は、出力されません。  起動時に editfile を参照するには、 A>vz @ として下さい。  さらに、この editfile は、「ピックファイル」としても扱えます。 editfile の中を見ると、 <ファイル名1> -<行番号1> <ファイル名2> -<行番号2> のように、ファイル名と行番号がファイル数分書かれていることがわかります。 この型式のファイルを「ピックファイル(Pick file)」と呼び、入力ファイル指定時 に @ に続けて指定すると、そこに記述されたファイルを順次オープンすることができます。  ピックファイルの指定は、以下の書式で行ないます。 @ :DEFパスのeditfile(プロファイル出力)を参照 @ :カレントディレクトリのを参照 @. :カレントディレクトリの editfile を参照 @\ :にchdirした後、 editfile を参照 @\にchdirした後、を参照 指定したピックファイルが見つからない場合は、ただちに再入力を促します。  editfile というファイル名は、vz.defファイルの * E その他 2 editfile を変更すれば、他の名前に変えられます。 %I 第4章 スクリーンエディット 「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「 4.1 ラインエディット 4.2 カーソルの移動 4.3 カット&ペースト 4.4 文字列の操作 4.5 その他のコマンド ■■■ 4.1 ラインエディット ■■■  ラインエディットコマンドは、スクリーンエディット時の基本編集コマンドであると 同時に、ファイル名、検索文字列、DOSコマンド等の文字列入力時にも使用できます。 特にコメントの必要ないくつかのコマンドについて説明します。 ァァァァァァァァァァァァァァァァァァァァ ^U :削除文字(列)復活 ァァァァァァァァァァァァァァァァァァァァ  削除された文字(列)を、カーソル位置に挿入します。 削除した文字(列)は削除文字列バッファに順次格納され、一杯になると、古いものか ら捨てられます。 ァァァァァァァァァァァァァァァァァァァァ [TAB] :タブ ァァァァァァァァァァァァァァァァァァァァ 【挿入モード】  タブコード(09h)を挿入します。モードの場合は、相当数のスペースが挿入 されます。 【上書モード】  カーソルを次のタブカラムへ移動します。 ァァァァァァァァァァァァァァァァァァァァ ^P :制御文字入力 ァァァァァァァァァァァァァァァァァァァァ  制御文字(00h〜1Fh)を入力します。LF(0Ah)は入力できません。 ァァァァァァァァァァァァァァァァァァァァ ^QU :ワード大/小文字変換 ァァァァァァァァァァァァァァァァァァァァ  カーソル位置の文字が英大(小)文字ならば、以降の1ワード中の英字を小(大)文 字に変換します。 ァァァァァァァァァァァァァァァァァァァァ ^QI \[F05](複写) :文字列の複写 ァァァァァァァァァァァァァァァァァァァァ  ^QF,^L コマンドで定義した検索文字列を、カーソル位置に挿入します。 %エ ァァァァァァァァァァァァァァァァァァァァ ^Q[ :表示行頭 ァァァァァァァァァァァァァァァァァァァァ  カーソルを表示行頭(画面の左端)へ移動します   ァァァァァァァァァァァァァァァァァァァァ ^Q] :表示行末 ァァァァァァァァァァァァァァァァァァァァ  カーソルを表示行末(画面の右端)へ移動します。 %J ■■■ 4.2 カーソルの移動 ■■■  基本的なカーソル移動・スクロール関係のコマンドについては省略させて頂き、 ここでは、 ・スムーススクロール ・カーソル位置マーク・ジャンプ について説明します。 %b ■■ スムーススクロール ■■ ァァァァァァァァァァァァァァァァァァァァ ^QW [RLDN] :スムースアップ ァァァァァァァァァァァァァァァァァァァァ ァァァァァァァァァァァァァァァァァァァァ ^QZ [RLUP] :スムースダウン ァァァァァァァァァァァァァァァァァァァァ  スムーススクロールアップ(ダウン)を開始します。  スムーススクロールは、PC−9801のハードウェアを生かして、ドット単位で画 面をスクロールさせる機能です。 ・実行キーを押している時間により、センスモード/ラッチモードとなります。 【センスモード】  実行キーを一定時間(約0.5秒)以上押し続けると、センスモードとなります。この 時は、キーを離した時点でスクロールが止ります。 【ラッチモード】  実行キーを即座に離した場合、そのままスクロールが続き、ラッチモードとなり ます。この時、[0]〜[4]のキーでスクロール速度(0〜4)を変えられます。それ以外 のキーを押した時点で、スクロールは止ります。 ・スクロール中に[SHIFT]キーを押すと、押している間、最高速(4)(最高速の時には  速度3)でスクロールします。 ・2つのテキストを縦分割表示している場合は、両画面スクロールとなります。  この場合は、片方のテキストが先頭/最後に達した時点で、スクロールは止ります。 ・スムールスクロール中のテキストは、すべてテキスト文字の表示属性で表示されます。 ・オプションで、スクロール速度の初期値を設定できます。 ★注意1★ 処理速度の遅い機種では、スクロールダウン時に画面が乱れることがあり ます。 ★注意2★ ハイレゾリューションモードでは、スクロール速度は最高速(4)に固定 です。 ァァァァァァァァァァァァァァァァァァァァ ^QE ^[UP] :画面の上端 ァァァァァァァァァァァァァァァァァァァァ  カーソルを画面の最上行へ移動します。 すでに最上行にある時は、スムーススクロールアップを開始します。 ァァァァァァァァァァァァァァァァァァァァ ^QX ^[DOWN] :画面の下端 ァァァァァァァァァァァァァァァァァァァァ  カーソルを画面の最下行−1へ移動します。 すでに最下行−1にある時は、スムーススクロールダウンを開始します。 ■■ カーソル位置マーク ■■  VZでは、各編集テキスト毎に #0〜#4 の5つのマークポインタを設定できます。 このうちマーク #0 は、直前のカーソル位置の保存のために使われます。 ァァァァァァァァァァァァァァァァァァァァ ^QP :直前のカーソル位置 ァァァァァァァァァァァァァァァァァァァァ  直前のカーソル位置(マーク #0)へカーソルを移動します。 次のコマンド実行時に、実行前のカーソル位置が自動的にマークされます。 ァァァァァァァァァァァァァァァァァァァァ ^QR :ファイルの先頭 ^QC :ファイルの最後 ^QP :直前のカーソル位置 ^QM :カーソル位置マーク ^QJ :指定行番号ジャンプ ^QF :検索文字列の設定 ^Q1-4 :マーク位置へジャンプ ァァァァァァァァァァァァァァァァァァァァ ァァァァァァァァァァァァァァァァァァァァ ^QM :カーソル位置マーク ァァァァァァァァァァァァァァァァァァァァ  カーソル位置をマーク#0に記憶します。このコマンドと ^QP コマンドで、テキスト 2点間の交互参照が行なえます。 ァァァァァァァァァァァァァァァァァァァァ ^K1〜4 :マーク(1-4) ァァァァァァァァァァァァァァァァァァァァ  ^K に続いて[1]〜[4]の数字キーを入力することにより、カーソル位置をマーク#1〜#4 に記憶します。 ァァァァァァァァァァァァァァァァァァァァ ^Q1〜4 :マーク位置へジャンプ ァァァァァァァァァァァァァァァァァァァァ  ^Q に続いて[1]〜[4]の数字キーを入力することにより、マーク#1〜#4へカーソルを 移動します。 %K%d%ウ ■■■ 4.3 カット&ペースト ■■■  VZのカット&ペースト処理は、次のような従来のエディタにない特徴をもってい ます。 ・「ブロックモード」による、行/ブロックの共通操作 ・「テキストスタック」による、複数の行/ブロックの格納 ・カーソルの移動方向による、行単位←→文字単位のブロック境界切替え ァァァァァァァァァァァァァァァァァァァァ ^B [F10] :ブロックモード ァァァァァァァァァァァァァァァァァァァァ  カーソル位置をブロックの境界とし、ブロックモードになります。(この時、画面最 上部のステータスラインの □ が反転します)そこから、カーソルを移動させた位置ま でがブロックです。(画面上、水色反転表示で示されます)  再度 ^B を実行すると、ブロックはキャンセルされます。  以下のコマンドをブロックモードで実行すると、ブロックの指定範囲をその対象とし ます。 ァァァァァァァァァァァァァァァァァァァァ ^Y [F08] :行・ブロック削除 ^KK \[F08] :行・ブロック記憶 ^QA [F07] :文字列の置換 ^L [F05] :検索文字列の取得 ^KH :インデントの変更 [ESC]S :ファイルのセーブ [ESC]A :既存ファイルへ追加 ァァァァァァァァァァァァァァァァァァァァ  ブロック指定後は、カーソルの移動方向(上下/左右)によって、ブロックの境界 が行単位/文字単位に切替わります。ただし、ブロックが論理1行内におさまっている 場合は、常に文字単位の境界です。  block.def マクロを組み込むと、矩形ブロック操作ができます。 ァァァァァァァァァァァァァァァァァァァァ ^Y [F08](カット) :行・ブロック削除 ァァァァァァァァァァァァァァァァァァァァ  カーソル位置の論理1行、またはブロックを削除し、テキストスタックへ格納しま す。 ァァァァァァァァァァァァァァァァァァァァ ^J [F09](インサート):行・ブロック挿入 ァァァァァァァァァァァァァァァァァァァァ  テキストスタックに最後に格納した行/ブロックをカーソル位置に挿入し、スタック から削除します。行/行単位のブロックは、カーソル行の先頭に挿入されます。  指定でブロックを挿入する場合、カーソルは挿入したブロックの最後へ移動し ます。 ァァァァァァァァァァァァァァァァァァァァ ^KK \[F08](コピー):行・ブロック記憶 ァァァァァァァァァァァァァァァァァァァァ  カーソル位置の論理1行、またはブロックを、テキストスタックへ格納します。 ァァァァァァァァァァァァァァァァァァァァ ^KC \[F09](ペースト):行・ブロック複写 ァァァァァァァァァァァァァァァァァァァァ  テキストスタックに最後に格納した行/ブロックをカーソル位置に挿入します。  指定でブロックを挿入する場合、カーソルは挿入したブロックの最後へ移動し ます。 ァァァァァァァァァァァァァァァァァァァァ ^KU :ペーストのアンドゥ(マクロ) ァァァァァァァァァァァァァァァァァァァァ  直前に ^J ^KC コマンドでペーストしたブロックを、ふたたび削除してテキストスタ ックに格納します。 ァァァァァァァァァァァァァァァァァァァァ ^KY :スタックの消去 ァァァァァァァァァァァァァァァァァァァァ  テキストスタックをクリアします。 ただし、標準設定ではテキストスタックが一杯になった場合は、自動的に古いものから 捨てられますので、通常このコマンドを使用する必要はありません。 ァァァァァァァァァァァァァァァァァァァァ ^QB :ブロックの先頭/最後 ァァァァァァァァァァァァァァァァァァァァ 【ブロックモード】  ブロックの始点/終点を入れ替えます。 【非ブロックモード】  最後に^B ^QB コマンドを実行した位置へカーソルを移動します。 【^J ^KCコマンド実行直後】  挿入したブロックの最後(指定時は先頭)へカーソルを移動します。 ★ テキストスタックの限界 ★  テキストスタックは、メモリが十分ある状態で、最大64KBまでテキストを格納で きます。しかし、64KBを越えるようなブロックは、一度に格納することはできませ ん。この様な大きなブロックに対して ^Y ^KK コマンドを実行すると、 《ブロックが大きすぎます》 と表示され、64KBに収る範囲が処理され、残りの部分がブロックとして残されます。 %L ■■■ 4.4 文字列の操作 ■■■  検索・置換・複写の際に入力した文字列は「検索文字列バッファ」に保存され、再度 使用する時にはヒストリー機能により簡単に呼び出せます。 %エ ァァァァァァァァァァァァァァァァァァァァ ^QF [F06](検索) :検索文字列の設定 ァァァァァァァァァァァァァァァァァァァァ  検索文字列を設定します。入力すると、最下行に検索する文字列を表示し、ページン グモードが S(文字列検索モード) に変ります。検索の実行は、^R ^C コマンドで行なって下さい。  検索を終了したら、^@ コマンドでページングモードを元に戻して下さい。 ァァァァァァァァァァァァァァァァァァァァ ^QA [F07](置換) :文字列の置換 ァァァァァァァァァァァァァァァァァァァァ  文字列の置換を行ないます。コマンド実行後の指示に従うと、 ・置換範囲:テキスト全体/カーソル以降/カーソル以前/ブロック ・全置換/確認置換 が選択できます。 ァァァァァァァァァァァァァァァァァァァァ ^QO :直前の置換の再実行 ァァァァァァァァァァァァァァァァァァァァ  直前に実行した設定の置換(検索・置換文字列、置換範囲、確認の有無)を、再実行 します。 %f ァァァァァァァァァァァァァァァァァァァァ \[F06](マルチ) :複数テキストでの検索・置換(マクロ) ァァァァァァァァァァァァァァァァァァァァ  直前に実行した検索または置換を、オープンしている全てのファイルに対して実行し ます。 ァァァァァァァァァァァァァァァァァァァァ ^QK :対応する()[]{}<> ァァァァァァァァァァァァァァァァァァァァ  カーソル位置の文字が( ) [ ] { } < > の場合、対応する括弧を検索し、カーソル を移動します。それ以外の文字では何も起こりません。ただし、.c .h の拡張子を持つ ファイル上では、} の上にあるものとして、対応する { を検索します。 %オ ァァァァァァァァァァァァァァァァァァァァ ^L [F05](記憶) :検索文字列の取得 ァァァァァァァァァァァァァァァァァァァァ  カーソル位置から始まる1ワード、またはブロックを検索文字列に設定します。 コマンド実行後は、^QFコマンドと同様に、文字列検索モードとなります。 ァァァァァァァァァァァァァァァァァァァァ ^KI \[F07](複写2) :文字列の選択複写 ァァァァァァァァァァァァァァァァァァァァ  検索文字列バッファから文字列を選択して、カーソル位置に挿入します。 ァァァァァァァァァァァァァァァァァァァァ ^[TAB] :文字列の補完(マクロ) ァァァァァァァァァァァァァァァァァァァァ  カーソル位置の直前のワードで始まる文字列を検索文字列バッファでサーチし、見つ かった場合は、文字列の後の部分を複写します。連続して実行すると、一致する文字列 が順番に複写されます。 [例] "int" "include" が、この順でバッファに格納されている場合、 i → int → include → int ^ ^ ^ ^ #inc → #include ^ ^ %e ★ 検索文字列の特殊文字 ★  検索文字列として、次の特殊文字が使用できます。 * :文字列の両端で指定して、ワードサーチを抑止/指定 \n :0Dh+0Ah (改行) \r :0Dh \l :0Ah \* : * 文字 \\ : \ 文字 ★ ワードサーチ ★  初期設定は、ワードサーチモードです。これは、一致する文字列の両端が、 スペース、タブ、制御文字(00h〜20h)、'$' '_' を除く英記号 の「ワード区切り文字」である場合のみ、検索するモードです。 [例] "i" を次のテキストでワードサーチした場合、 for (i=0; i -<行番号> の型式で、ファイル名バッファに格納します。  タグとして参照できる書式は、次の通りです。 [書式] [<ヘッダー>] <パス名> [<行番号>] : <コメント> <ヘッダー> : . \ を含まない任意の文字列 <パス名> : . \ を含む文字列 <行番号> :10進数 [例] MAIN.ASM(9) : Error 20: Invalid Opcode Error tst.c 1: Unable to open include file 'stdio.h' ァァァァァァァァァァァァァァァァァァァァ \[F10](タグ) :タグジャンプ(マクロ) ァァァァァァァァァァァァァァァァァァァァ  カーソル行以降のテキストでタグ行をサーチし、見つかった場合は、タグの記述に 従って指定ファイルをオープンし、指定行へジャンプします。 ァァァァァァァァァァァァァァァァァァァァ ^KL :表示行数切替え ァァァァァァァァァァァァァァァァァァァァ  20/25行(ハイレゾリューションモードでは、25/31行)を切替えます。 ァァァァァァァァァァァァァァァァァァァァ ^KH :インデントの変更 ァァァァァァァァァァァァァァァァァァァァ  カーソル行/ブロックのインデント(字下げ)を変更します。 以下のキーでインデントを変更して下さい。 [←] ・・・・・・・・・・ 1カラム分減らす [→] ・・・・・・・・・・ 1カラム分増やす \[←] ・・・・・・・・・・ タブカラム数分減らす \[→] ・・・・・・・・・・ タブカラム数分増やす [CR] ・・・・・・・・・・ 確定する 行頭のインデントの部分には、可能な限りのタブコードが挿入されます。 ァァァァァァァァァァァァァァァァァァァァ ^KX \[F03](比較) :テキストの比較 ァァァァァァァァァァァァァァァァァァァァ  オープンしている2つのテキストを比較します。コマンドを実行すると、カーソル位 置からテキストを比較し、相違があった場合にはその位置へカーソルを移動します。 %N%p 第5章 ファイラー 「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「 5.1 ファイラーの概要 5.2 ファイラーの基本操作 5.3 メニューコマンド ■■■ 5.1 ファイラーの概要 ■■■  「ファイラー」とは、ディレクトリを表示し、カーソルでファイルを選択して、種々 の機能を実行するツールを意味します。VZは、次の様な多機能ファイラーを内蔵して います。 ・サブディレクトリー間の移動 ・ロング/ショートの表示モード ・ディレクトリのソート表示 ・複数の拡張子による選択 ・2つのディレクトリを同時表示 ・ディレクトリの比較 ・選択したファイルに対するコマンド連続実行(copy,del等)  ファイラーは、次の時に起動されます。 ・『入力ファイル』ウィンドウで、ディレクトリ・マスクを指定した場合。 ・最後の編集テキストをクローズし、前回ファイラーからオープンしている場合。 ・DOSコマンドラインで [SHIFT]+[ESC] を実行した場合。 %ケ ■■■ 5.2 ファイラーの基本操作 ■■■  以下のキーで、カーソルの移動、ファイルの選択、ディレクトリの移動等を行ない ます。 ァァァァァァァァァァァァァァァァァァァァ [↑] [↓] [←] [→] ^E ^X ^S ^D ァァァァァァァァァァァァァァァァァァァァ  カーソルを移動します。 ァァァァァァァァァァァァァァァァァァァァ \[↑] \[↓] \[←] \[→] ^R ^C ^A ^F ァァァァァァァァァァァァァァァァァァァァ  カーソル位置のファイルを選択/非選択し、カーソルを移動します。 ァァァァァァァァァァァァァァァァァァァァ ^Z [BS] :先頭/最後 ァァァァァァァァァァァァァァァァァァァァ  カーソルをディレクトリの先頭/最後に移動します。 ァァァァァァァァァァァァァァァァァァァァ ^W [TAB] :ウィンドウ切替え ァァァァァァァァァァァァァァァァァァァァ  2ディレクトリ表示時、他方のウィンドウへカーソルを移動します。 ァァァァァァァァァァァァァァァァァァァァ [SPACE] :スペース ァァァァァァァァァァァァァァァァァァァァ  カーソル位置のファイルを選択/非選択します。 ァァァァァァァァァァァァァァァァァァァァ ^M [CR] :リターン ァァァァァァァァァァァァァァァァァァァァ 【選択したファイルがない場合】  カーソル位置のファイルを選択して、ファイラーから抜けます。 【1つ以上のファイルを選択している場合】  それらのファイルを選択して、ファイラーから抜けます。 【カーソルがディレクトリにある場合】  そのディレクトリに移動します。 ァァァァァァァァァァァァァァァァァァァァ [ESC] :エスケープ ァァァァァァァァァァァァァァァァァァァァ  選択をキャンセルし、ファイラーを起動した状態に戻ります。 ★注意★ カレントドライブ以外のドライブで、サブディレクトリ間の移動を行なった 場合は、最後に表示したディレクトリが、そのドライブのカレントディレクトリとな ります。 ■■■ 5.3 メニューコマンド ■■■  画面最上部のメニューの頭文字を入力することにより、次のメニューコマンドを実行 できます。 ァァァァァァァァァァァァァァァァァァァァ Drive ァァァァァァァァァァァァァァァァァァァァ  ドライブを切換えます。 ァァァァァァァァァァァァァァァァァァァァ Mask ァァァァァァァァァァァァァァァァァァァァ  ファイルマスクをメニューから選択します。このメニューは、DEFファイルで設定で き ます。 W *.* ※ → Q . C .h .c ... ※ マスクとして"."を選択すると、以下のデフォルト拡張子が設定されます。 .doc .txt .bat .def .h .c .inc .asm  (DEFファイルで変更可能) ァァァァァァァァァァァァァァァァァァァァ Path ァァァァァァァァァァァァァァァァァァァァ  新たなディレクトリ・マスクを指定します。 [例] b: a:\vz\ .doc (*.doc) vz (vz.*) .mix .pcs ァァァァァァァァァァァァァァァァァァァァ Sort ァァァァァァァァァァァァァァァァァァァァ  ディレクトリを指定オプションでソート(並べ換え)して表示します。 ァァァァァァァァァァァァァァァァァァァァ View ァァァァァァァァァァァァァァァァァァァァ  ディレクトリの表示モードをロング/ショートに切替えます。 ァァァァァァァァァァァァァァァァァァァァ Window ァァァァァァァァァァァァァァァァァァァァ  表示するウィンドウの数を1→2/2→1に切替えます。 1→2にする際は、同時にカーソルを新しく開いたディレクトリへ移動します。 ァァァァァァァァァァァァァァァァァァァァ All ァァァァァァァァァァァァァァァァァァァァ  ディレクトリの全ファイルに対して、選択/非選択を反転します。 ァァァァァァァァァァァァァァァァァァァァ ToCD ァァァァァァァァァァァァァァァァァァァァ  現在表示しているディレクトリをカレントドライブ・ディレクトリとします。 ァァァァァァァァァァァァァァァァァァァァ RetCD ァァァァァァァァァァァァァァァァァァァァ  カレントドライブ・ディレクトリに戻ります。 ァァァァァァァァァァァァァァァァァァァァ Compare ァァァァァァァァァァァァァァァァァァァァ  2ウィンドウ表示時に、ソースディレクトリ(カーソルがある方のディレクトリ)の ファイルを、指定オプションでもう一方のディレクトリ(ターゲットディレクトリ)と 比較し、結果を選択ファイルとします。このメニューにより更新したファイルを選択し 次の Exec メニューでコピーすることができます。 ァァァァァァァァァァァァァァァァァァァァ Exec ァァァァァァァァァァァァァァァァァァァァ 【選択したファイルがない場合】  DOSコマンドラインモードへ移行します。 【1つ以上のファイルを選択している場合】  DOSコマンドメニューを選択し、DOSコマンドの連続実行を行ないます。 %O 第6章 DOSコマンドの実行 「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「 6.1 コマンドラインの操作 6.2 エイリアス 6.3 コマンドの連続実行 6.4 コンソール出力の取込み 6.5 常駐モード ■■■ 6.1 コマンドラインの操作 ■■■  VZでは、DOSコマンドを実行するコマンドラインモードで、次のような機能を利用 できます。 ・ヒストリー機能 ・エイリアス機能 ・マルチステートメント機能 ・環境変数の参照 ・選択ファイルに対するコマンドの連続実行 ァァァァァァァァァァァァァァァァァァァァ [ESC]E :DOSコマンド実行 ァァァァァァァァァァァァァァァァァァァァ  スクリーンエディタからDOSコマンドラインモードへ移ります。  コマンドラインモードでは、通常の文字列入力時と同様のラインエディット、ヒスト リー機能が使えますが、それ以外に次のコマンドが使えます。 ァァァァァァァァァァァァァァァァァァァァ [ESC] :エスケープ ァァァァァァァァァァァァァァァァァァァァ  スクリーンエディタへ戻ります。 ァァァァァァァァァァァァァァァァァァァァ [CR] :リターン ァァァァァァァァァァァァァァァァァァァァ 【[CR] の場合】  入力したDOSコマンドを実行します。実行が終了すると、ただちにコマンドライン モードに戻ります。 【[CR]のみの場合】  command.comを呼出し、制御を渡します。exit でコマンドラインモードに戻ります。 ァァァァァァァァァァァァァァァァァァァァ \[ESC] :DOS画面出力の参照 ァァァァァァァァァァァァァァァァァァァァ  コンソール画面を表示します。 ァァァァァァァァァァァァァァァァァァァァ ^W :エイリアス一覧 ァァァァァァァァァァァァァァァァァァァァ  エイリアスの定義の一覧を表示します。 ァァァァァァァァァァァァァァァァァァァァ ^[CR] :コマンドの展開再表示 ァァァァァァァァァァァァァァァァァァァァ  入力したDOSコマンドを、エイリアス・環境変数で展開してコマンドラインに再表示 します。 ァァァァァァァァァァァァァァァァァァァァ \[CR] :ファイラー ァァァァァァァァァァァァァァァァァァァァ  ファイラーを起動します。 A:\VZ><パス・マスク> [SHIFT]+[CR] というように、パス・マスクを入力して [SHFIT]+[CR]を実行すると、ただちに対応す るディレクトリを表示します。 [SHIFT]+[CR]のみ入力した場合は、前回ファイラーを 起動した時のディレクトリ(最初はカレントディレクトリ)を表示します。 %m  コマンドラインでのDOSコマンドの記述では、次の様な機能を使用できます。 【エイリアス機能】  DOSコマンドを、短縮した別名で入力する機能です。次節で詳しく述べます。 【マルチステートメント】   複数のコマンドを、<スペース>; で区切って、一行に記述できます。 [例] A>del \tmp ;rd \tmp ★注意★ 順次実行されているコマンドは、[STOP]キーで中断します。^Cでは、その時 実行されているコマンドしか中断されません。 【環境変数の参照】   バッチファイルと同様に、%...% で環境変数を参照できます。 [例] A>optasm %opt% ★注意★ コマンドラインモードで、set コマンドにより環境変数を設定することはで きません。  コマンドラインモードで記述した文字列は、次の順序で展開され、再表示された後、 実行されます。 [エイリアス展開]→[環境変数展開]→[再表示]→[各コマンドの実行] ↑ ^[CR]の場合は、ここで中断 (オプションを指定することにより、再表示を抑止できます。) %P ■■■ 6.2 エイリアス ■■■  エイリアス(別名)機能は、DOSコマンド列を別の(短い)名前で実行する機能です。 この機能を使用するためには、あらかじめDEFファイルの * A エイリアス の項に、エイリアス定義を記述しておかなくてはなりません。  エイリアス定義の書式は、次の通りです。 [書式] <エイリアス名> <コマンド> [例] cat type %*  <エイリアス名>と<コマンド>は、バッチファイル名とその内容との関係に似ています。 ただし、<コマンド>は必ず1行内で記述しなければなりません。  実際のコマンドラインでは、次のように使用します。 <エイリアス名> <引数1> <引数2> ... 与えられた<引数>は、<コマンド>中で次のようなパラメータ参照記号で参照します。 %1〜%9 :1〜9番目のパラメータ %* :全パラメータ %n* :n番目以降の全パラメータ %: :ディレクトリ名 %& :ファイル名 %. :拡張子 %< :ディレクトリ名+ファイル名 %> :ファイル名+拡張子 %n: :n番目のパラメータのディレクトリ名 %\ :直前の文字が\で無い場合にのみ\を付加 %- :switchar(/,-) %% : % 文字 <引数>が "a:\path\file.ext" の場合 %: :a:\path\ %& :file %. :ext %< :a:\path\file %> :file.ext [例] (定義)rene ren %1 %<.%2 A:\VZ>rene test.asm bak ^[CR] → ren test.asm test.bak  エイリアスは1度しか展開されません。従って、<コマンド>の中に他で定義された エイリアスを記述しても展開されません。逆に、<エイリアス名>をその<コマンド>の 中で用いることは可能です。 [例] (定義)dir dir %1 /w %Q ■■■ 6.3 コマンドの連続実行 ■■■  複数のファイルをコピーまたは削除したい場合は、VZのコマンド連続実行機能を 使えば、簡単に処理できます。  それではまず、ファイルをコピーする例で説明しましょう。 [例]  ・ファイラーを起動します。(A>vz[CR][CR]等)  ・[W]コマンドで2ウィンドウ表示に切り替え、コピーする2つのディレクトリを   表示します。   仮に、 ソースディレクトリ ・・・・・・・・・・・・ A:\VZ\ ターゲットディレクトリ ・・・・・・・・ B:\ カレントディレクトリ ・・・・・・・・・・ A:\   であるとします。  ・VZ.DEF README.DOC の2つのファイルを選択するとします。  ・[E]コマンドでExecメニューを表示します。  ・[C]でコピーを選択します。   すると、コマンドラインモードへ移り、コマンドラインに A:\>copy A:\VZ\%? B:\   と表示されます。  ・ここで、[CR]を入力すると、コピーを開始します。画面は A:\>copy A:\VZ\VZ.DEF B:\ 1 個のファイルをコピーしました. A:\>copy A:\VZ\README.DOC B:\ 1 個のファイルをコピーしました. A:\>   となり、2つのファイルのコピーが終了しました。  ・[SHIFT]+[CR]を入力するとファイラーに戻ります。  このように、ファイラーで選択したファイルに対して、あらかじめExecメニューに 組み込んでおいたDOSを、連続して実行することができます。  連続実行中のコマンドは、[STOP]キーで実行を中断できます。この後、^E または [↑] キーで実行したコマンドを呼び出し、[CR] を入力すると、中断したコマンドから 実行を再開できます。 %R%o ■■■ 6.4 コンソール出力の取込み ■■■  VZでは、編集するテキスト以外に、「コンソールファイル」を内部に持っており、 DOSコマンド実行中の画面出力は、自動的にそこへ取込まれています。 ァァァァァァァァァァァァァァァァァァァァ \[ESC] :DOS画面出力の参照 ァァァァァァァァァァァァァァァァァァァァ  コンソールファイルをオープンします。もう一度実行するとクローズします。 (コンソールファイルは、画面最上部のステータスラインが、黄色です)  コンソールファイルは、標準設定で32KBのサイズを持ち、一杯になった場合には 先頭から1/4づつ切り詰められます。このサイズは、オプションで設定でき、 とすると、コンソールファイルは確保されません。 %S%l ■■■ 6.5 常駐モード ■■■  起動時オプション -z を指定すると、VZをメモリに常駐します。 [例] A>vz -z 再度 vz -z を実行すると、VZは解放されます。  VZが常駐されると、DOSのコマンドライン入力は、VZの内部ルーチンで処理され、 ラインエディット、ヒストリー、エイリアス機能等、コマンドラインモードと同様の 機能が利用できます。 ★注意★ ファンクションキーに設定されているテンプレート機能は使用できません。  エデイタを起動する場合は、[ESC] を入力して下さい。 %T 第7章 VZのカスタマイズ 「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「 7.1 カスタマイズの概要 7.2 定義ファイルの書式 %ア ■■■ 7.1 カスタマイズの概要 ■■■  VZは、起動時に指定のDEFファイル(複数)を読み込み、その内容に従って操作環 境を設定します。  最初に読み込むDEFファイル、DEFファイルのディレクトリは、環境変数 VZDEF を参 照します。省略時は、それぞれ、vz.def ファイル、コマンド起動パスが設定されます。  複数のDEFファイルは、以下のように指定します。 [例] (vz.defファイル中) * Else 1 help+Macro A>vz → vz.def help.def macro.def A>vz /vz → vz.def help.def macro.def A>vz +tool → vz.def help.def macro.def tool.def A>vz /vz+macro → vz.def macro.def A>vz /vz+ → vz.def  また、-w オプションで、DEFファイルをvz.comに取り込むことができます。 A>vz -w 再び取り去る場合は、 A>vz -w- とします。但し、取り込む前と全く同じ内容になるわけではありません。オプション等 は書込まれたまま残ります。  * Else 1 で指定した読み込みファイルのうち、大文字で始まるファイル(上の例で は Macro)は、 -w では組込まれず、実行時に読み込まれます。  スクリーンエディット時に、次のコマンドが使用できます。 ァァァァァァァァァァァァァァァァァァァァ ^K^ :再カスタマイズ ァァァァァァァァァァァァァァァァァァァァ  編集テキストをDEFファイルとして組込みます。この機能により、メニュー、マクロ 等のDEFファイルを編集→組込み→実行してデバックすることが可能になります。  組込める項目は、 * S システムメニュー * M マクロ * P メニュー * A エイリアス に限られ、他の項目は無視されます。 ★注意★ 本コマンドでDEFファイルを読み込むと、それ以降に読み込んだマクロ・ メニューの内容は削除されます。これは、読み込むDEFファイルで最初に現れたマクロ ・メニューの番号をメモリ上でサーチし、それ以降の内容を置き換えるため起こります。 %U ■■■ 7.2 定義ファイルの書式 ■■■  以下、DEFファイルの書式について簡単に説明します。 ◎ DEFファイルの最初の行は、タイトル行としてスキップされる。  (オプションを指定すると、組込み時にその行をコンソールに出力可能) ◎ 行の先頭が * の行は、続く一文字の英字で、10種類の項目を指定します。 * C コマンドキー * Command keys * F ファンクションキー表示 * Function key label * T テキストウィンドウ * Text window * S システムメニュー * System menu * M マクロ * Macro * P メニュー * Pop up menu * O オプション * Options * A エイリアス * Alias * H ヒストリー * History * E その他 * Else ◎ * のみの行は、DEFファイルの終端を表します。これ以降は読み込みません。 ◎ ; で始まる行、及び、*Alias *Histoy *Else 以外の項目の ; から行末までは、  コメントとしてスキップされます。 ◎ "...." で記述した文字列には、以下のように、 $ に続く制御文字を指定できます。 $" :'"' $$ :'$' $0〜$7 :表示色 $! :リバース $an :の表示色 $pc :コマンド名 $pn :カレントドライブ名 $pd :カレントディレクトリ $(hh,hh) :16進コード指定 【* C コマンドキー】 [書式] ------------------------------- 00 {} [;] [][] [:] [;] :コマンド#(01〜99) :コマンドキータイプ1(^S ^QS [ESC]Q ..) :コマンドキータイプ2([CR] \[BS] ^[-->] ..) :2ストロークキーの先頭キー(最大6個) :ヘルプメッセージ  コマンドキーとしては、以下の組合せが指定でき、それぞれ違うキーとして認識され ます。 (タイプ1) ^<英字キー> @<英字キー> <英字キー> (タイプ2) [特殊キー] \[特殊キー] ^[特殊キー] @[特殊キー] <英字キー> @ A..Z [ \ ] ^ _ (40h〜5Fh) [特殊キー] [RLUP] [RLDN] [INS] [DEL] [UP] [<--] [-->] [DOWN] [CLR] [HELP] [ESC] [TAB] [BS] [CR] [NFER] [F01]〜[F10] ^<英字キー> @<英字キー> [特殊キー] ★注意★  ・タイプ1、タイプ2は、各々一つしか指定できません。  ・@<英字キー>、[NFER]キーは、ezkey.com を組込んだ時に使用できます。  (PC286/386シリーズでは、使用できない機種があります)  ・@[F01〜F10] @[ @] @_ キーは使用できません。 【S システムメニュー】 【P メニュー】 [書式] ------------------------------- "",<width>,<items>[,<value width>][,-1] { ["<item>"] [,#nn|&nn|!nn|<option>] }  システム/マクロメニューを記述。 ★注意★ System menu は、Macro、Pop up menu に先んじて記述すること。 【E その他】 [書式] ------------------------------- <1〜8> <string> 1 help+macro :インクルードするDEFファイルを指定。 2 editfile :プロファイル参照ファイル名の指定 3 .doc .txt .bat ... %i%キ:デフォルト拡張子(大文字のものは、4カラムのタブ) 4 Drive Mask ... :ファイラーコマンドメニュー 5 0●,◎.○1《 ... :[GRPH]+[テンキー]による入力文字 6 0カ,ヨ.コ1セ ... :[CTRL]+[tenkey]による入力文字 7 */;^L :タイトル行サーチのサーチキャラクタ 8 $6$d> :DOSコマンドラインのプロンプト %V%q 第8章 VZのマクロ機能 「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「「 8.1 マクロの概要 8.2 マクロの操作 8.3 マクロ言語仕様 ■■■ 8.1 マクロの概要 ■■■  一般に、エディタで「マクロ機能」と言った場合、次の2つの機能を指します。 ◎ キーボードマクロ機能  編集中に一連のキー操作を一つのキーに登録し、再実行させる機能。 ◎ マクロコマンド機能  あらかじめコマンドの動作をプログラムしておき、実行させる機能。  VZでは、DEFファイルの * M マクロ の項目に、マクロプログラムを記述し、起動時または編集中にそのDEFファイルを読み 込むことで、マクロコマンドを使用できます。すなわち、マクロプログラムのコンパイ ル、ライブラリ化等の面倒な作業は一切必要ありません。  また、先に述べた、DEFファイルの再カスタマイズコマンド(^K^)でマクロプログラ ムを編集中に組込み、即座に実行することができるため、非常に効率的なデバッグが可 能です。  一方、キーボードマクロで登録したキー操作は、内部でマクロプログラムに変換され て格納されるため、登録後は他のマクロコマンドと同様に使用できます。また、登録し たマクロプログラムを、編集テキスト中に挿入するコマンド(^K_)を利用して、これ をDEFファイル中に挿入し、次回からはマクロコマンドとして使用することもできます。 %W ■■■ 8.2 マクロの操作 ■■■ ァァァァァァァァァァァァァァァァァァァァ [ESC]M :マクロメニュー ァァァァァァァァァァァァァァァァァァァァ  現在設定されている全マクロのメニューを表示し、選択・実行する。 %カ ァァァァァァァァァァァァァァァァァァァァ ^_ :キーボードマクロ ァァァァァァァァァァァァァァァァァァァァ  キーボードマクロの登録を開始します。 ^_ <キー操作> [macro key] :[macro key]にキー操作を記憶 ^_ <キー操作> ^_ :キャンセル  [macro key]は、コマンド、マクロに定義していないキー(vz.defでは ^\,^O等)が 使用できます。  <キー操作>中に、他のマクロ(他のキーボードマクロは除く)を実行できます。 キーボードマクロには、90番以降のマクロナンバが割当てられます。 ァァァァァァァァァァァァァァァァァァァァ ^K_ :キーボードマクロ文挿入 ァァァァァァァァァァァァァァァァァァァァ  カーソル位置に、登録したキーボードマクロを、DEFファイル型式で挿入します。 ァァァァァァァァァァァァァァァァァァァァ [ESC]^ :外部マクロの実行 ァァァァァァァァァァァァァァァァァァァァ  外部マクロを選択・実行します。この時、読み込むファイルのサイズ以上のバッファ 領域を、<Bm>オプションで確保しておく必要があります。 ァァァァァァァァァァァァァァァァァァァァ [ESC]@ :マクロ文の実行 ァァァァァァァァァァァァァァァァァァァァ  入力した文字列をマクロ文とみなしてコールし、返り値を10進・16進・文字・文字列 として表示します。 [例] 1234+$5678 '漢' an=ac=3 du+ ★注意★ この機能で各種オプションを変更した後の動作は、保証できません。 ァァァァァァァァァァァァァァァァァァァァ [STOP] ァァァァァァァァァァァァァァァァァァァァ  マクロの実行を中断し、トレースモードに入ります。ファンクションキーの左端に 中断した位置のマクロプログラムが表示されます。  この後、次のキーが受け付けられます。 [SPACE] ・・・・・・・・・ ステップ実行 [CR] ・・・・・・・・・・・・ マクロの連続実行を再開 [ESC] ・・・・・・・・・・・ マクロ実行の中止 %X ■■■ 8.3 マクロ言語仕様 ■■■  VZのマクロ言語は、次のような特徴を備えています。 ・39種のCライクな演算子(push, pop, byte/word ptr 等のオリジナル演算子を含む) ・56個の汎用変数の他、オプション変数、システム変数を演算式で使用可能 ・24種のシステム関数(printf, int86, strchr, locate, rand, 相当の関数を含む) ・DEFファイルで定義したポップアップメニューを呼び出し可能 ・if..else.. on..goto.. に相当する条件分岐、ブロック、ループ制御構造 ・最大8レベルのネストおよびバックグラウンドでのマクロ実行が可能  また、マクロプログラムは、テキストの状態のままでメモリに格納するため、コマン ド・変数・ラベル名等は1、2文字の英数字で表しています。その結果、多少読みづら い点がありますが、それを補って余りある次のような特徴を有します。 ・編集中のマクロプログラムを即座にマクロバッファへ読み込み、実行できます。  (^K^ コマンド) ・トレース時に、実行中のマクロプログラムの一部を、画面に表示します。 ・任意の文字列をマクロプログラムとしてコールすることができます。  ([ESC]@ コマンドは、この機能を利用しています。)  DEFファイルでのマクロの書式は次のとおりです。 【M マクロ】 [書式] ------------------------------- <n> <key> "<message>" <statement> (グローバルマクロ) <n>: <statement> (ローカルマクロ) <n> :マクロ番号(1〜89) <key> :マクロキー <message> :マクロのヘルプメッセージ <statement> :マクロ定義の本体  2番目のローカルマクロは、他のマクロからコールされるいわばサブルーチンです。 <statement>はマクロ定義の本体で、行頭が数字または * である行までを一つの定義文 とします。メモリに格納する際にスペース・タブ・改行・コメントは取り払われます。  VZのマクロプログラムは、次にあげる「キーワード」と、後で述べる「演算式」で 構成されています。各々のキーワードの間は、スペース・タブ・改行で区切っても、つ なげて記述しても構いません。ただし、一つのキーワード中には、このような区切り文 字を挿入してはなりません。  以下の書式では、 n ・・・・・・ 1文字の10進数 a ・・・・・・ 1文字の英小文字 A ・・・・・・ 1文字の英大文字 を表します。 【キーワード】 "string":文字列をそのまま入力 'A' :一文字を入力 #nn :nn番の基本コマンドを実行(nnは10進2桁) #a #A :基本コマンドの英字1文字表現 !nn :nn番のポップアップメニューの起動 &nn :nn番のマクロのコール(8レベルまでネスト可) &a :システム関数 &#nn() :コマンド関数 >nn :nn番のマクロへジャンプ >A :指定ラベルへジャンプ >^ :マクロの先頭へジャンプ &> >> :次のマクロをコール/ジャンプ &* >* :最後に組込んだグローバルマクロのコール/ジャンプ &+n,&-n,>+n,>-n :カレントマクロナンバ±n番のコール/ジャンプ(n=0〜9,A〜Z) . :カレントマクロからのリターン / :マクロの終了 :A :ラベル 式 , :演算式(後にマクロが続く時は ',' で終了) (式) :演算式を評価し、結果を内部レジスタに格納 {...} :ブロック ?<...> :内部レジスタの値が0なら、続く1ワード/ブロックをスキップ  &内部レジスタを論理NOT (式)?<true>?<false> :条件分岐、ただし<true>の実行文で(式)等により、内部レジスタを  再設定すると、<false>は正常にスキップされない。 (式){...} :式の値回数ループ、ただし、式の値が0以下でも1回実行される。 (式)>?{ <if0> <if1> <if2> .. } :式の値がnの時、n番目のワード/ブロックを実行。  演算式は、次の定数・変数・演算子で構成されます。 【定数】 10 $8140 'A' 'あ' "string" #nn #a ・文字列は、終りの " が0に置き換えられて格納される。 ・文字列は、その先頭文字のオフセットを値にもつ。 ・#nn #aは、コマンドコードを表す。 【演算式】 [単項演算子] + - [ ] ++ -- ~ ! !! (a+) == a=1 (a-) == a=0 (-a) == -a (a[) == push a (a]) == pop a (a++) == a=a+1 (a--) == a=a-1 (a~) == a=~a (a!) == a=!a (a!!) == a=swaphl(a) [二項演算子] . .. << >> & ^ | * / % + - < <= > >= == != && ^^ || (p.i) == p[i] (char *p) (q..i) == q[i] (int *q) ・ i の値は、0〜63 まで。 ・ アクセスするセグメントは dz。 [代入演算子] = &= ^= |= *= /= %= += -= ・上記の登場順で、すべての演算子が優先順位を持つ。 ・数値は、signed int型。 ・push,popでは、<Bu>で指定したサイズのユーザー配列領域の最後尾からを、スタック  として使用する。 【変数】 [汎用変数] ・r,s,w を除く a 〜 y ・rr,ss,ww を除く aa 〜 yy ・ax,bx,cx,dx,si,di (割り込み処理関数での受渡し変数として使用) [汎用フラグ] ・fa,fb,fc,fd,fx,fy [システム変数](* 指定の変数は変更可能) r * コマンド、マクロ、メニュー等の返り値 s システムモード 0 = スクリーンエディットモード 1 = 文字列入力モード 2 = コマンドラインモード 3 = ファイラーモード 4 = メニュー、《・・・? (Y/N)》等の、一文字入力モード cd カーソル位置の文字コード ck カーソル位置の文字種 0 = 半角 1 = 全角 cl カーソル行の先頭オフセット cm * 直前に実行されたエディットコマンド番号 cp カーソル位置のオフセット ct カーソル位置の文字タイプ 0 = EOF 1 = 改行 2 = 00h〜20h、全角スペース 3 = 半角記号・全角記号 4 = ひらがな 5 = 上記以外の全角文字 6 = 上記以外の半角文字 cz コードセグメント dz * データセグメント(ポインタ演算子で使用、マクロ実行時にコード セグメントを代入) fe 編集テキストの拡張子タイプ  (デフォルト拡張子の設定による) ht * 編集テキストのタブカラム数 kp テキストスタックのエンドポインタ ks シフトキーフラグ kx * 保存したカーソルのカラム位置 kz テキストスタックのセグメント ky * 保存したカーソルのウィンドウ内の行(Y)位置 ld 表示行番号 (表示行番号モードでない場合は不定) lh カーソル位置の論理行の先頭からのY位置 ln 論理行番号 lx * 表示カーソルのカラム位置 ly 表示カーソルのウィンドウ内のY位置 mb * ブロックモード 0 = 非ブロックモード 1 = 行境界のブロックモード 2 = 文字境界のブロックモード 3 = 矩形ブロックモード mi * 挿入モード 0 = 挿入モード(Insert) 1 = 上書モード(Overwrite) mp * ページングモード 0 = [P]表示ページングモード 1 = [C]論理ページングモード 2 = [S]文字列検索モード mr * テキスト修正フラグ 0 = 未修正 1 = 修正あり     -1 = Read Only pa アプリケーションヒストリーバッファ pc VZの起動コマンド名 pd カレントディレクトリ名 pf ファイル名ヒストリーバッファ pi DEFファイルの参照パス名 pl ラインバッファ pn カレントドライブ名 pq テンポラリファイルの参照パス名 ps 検索文字列ヒストリーバッファ pu マクロ配列領域の先頭 pw ワーク用ヒストリーバッファ px コマンドラインヒストリーバッファ pz コマンド起動パス名 rn * 乱数用ワーク(seed) sp * マクロスタックポインタ tz 編集テキストのテキストバッファのセグメント値 wc 編集中のテキストの数(コンソールファイルは除く) wn 編集テキスト番号(ファイル名の前の数字) wt 画面分割モード 0 = 全画面 2 = 横分割の上 3 = 横分割の下 4 = 縦分割の左 5 = 縦分割の右 wx 編集ウインドウの横幅 wy 編集ウインドウの高さ 【システムマクロ】 &a(msg) ask :<msg>か? (Y/N) Y=1, N=0, [ESC]=-1 &b(time) beep :BEEP音 &c char :一文字入力スキップ &d display :画面を再表示(silent OFF) &e(ptr) extern :ptrからの文字列をマクロ文としてコール &f(c,str) find :文字 c を str でサーチ  r= 見つかった位置(0〜) 無ければ -1 &g(title) get :ウィンドウで文字列入力  r= 数値に変換した結果、 [ESC]なら -1 &h hexa :r= カーソル位置の16進数 &i(n) int :INT n (ax,bx,cx,dx,si,diを使用) &k keyin :r= BIOSキー入力チェック(int18h AH=05h) &l linein :[CR],[ESC]入力までスキップ &m(format,par1,par2..) message :printf の書式制御で、画面最下行へメッセージ出力 &?(format,par1,par2..) print :printf の書式制御で、カーソル位置へ出力 &n numeric :r= カーソル位置の10進数 &o(code) output :code の文字/コマンドを実行(vz内部キーコード) &p pause :r= キー入力待ち(vz内部キーコード) &q quit :ネストを1レベルスキップ &r random :r= 乱数 &s silent :seilent ON(画面非表示) &t trace :トレースモードON/OFF &u(a) upper :toupper(a) &w(time) wait :time 時間 wait &x(x) x :カーソルを X カラムへ移動 &y(y) y :カーソルを 画面の上端から Y 行目に移動 【特殊命令】 #? :カーソル行を再表示 #] :ダミーコマンド(カーソル位置の更新) 【マクロコマンド】 #(n) &#r(n) :n行スクロールアップ $(n) &#c(n) :n行スクロールダウン +(n) &#U(n) :マーク#n へカーソル移動(n=1〜4) ,(n) &#M(n) :カーソル位置をマーク#nに記憶(n=1〜4) -(n) &#J(n) :行番号n へカーソル移動 3(n) :テキストスタックポインタの更新 ?(n) &#T(n) :編集テキストを#nに切替え @(n) &#Y(n) :画面の分割モードを設定(0=フル, 2=横分割, 4=縦分割) D(n) :カーソル位置からnカラムまでをタブ・スペースで埋める 」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」 End of vz.doc 」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」」