Vz Editor マクロ工房

■ ikuboh の作品

VZ外部マクロユーティリティ

vzout220.lzh (2002/06/16)
OUTLAW.DEF は、裸のマクロロード関数&zのユーザインタフェースを補強し、高度な用法をコンパクトに記述できるようにします。ヘピーユーザ向けにはマクロのスワップの仕組みを提供します。
Vz Editorバージョン1.6 の発売から10年目を迎え、世紀も変わりました。

ことを目的に作成した OUTLAW もいささか古くなりました。今回のバージョンアップでは、当初の目論見がはずれてあまり使われなかった機能を廃止し、スリム化(約 1000 バイト→約 600 バイト)を実施しました。
 ★重大な仕様変更: dd,nnの代わりにpmを使うようにしました。

VzからWindowsのクリップボードを利用する

clip101.lzh (2002/11/18)
Vzでオープンしたテキストの一部を Windows アプリにコピーする場合、 通常は以下の手順をとります。

  1. DOS窓のツールバーから[範囲指定]機能を選択
  2. コピーしたいテキストをマウスで範囲指定
  3. DOS窓のツールバーから[コピー]機能を選択
  4. Windowsアプリ上で[貼り付け]

こうしてせっかく貼り付けたテキストも、改行コードが文字化けしてしまい、手作業で1個1個修正したことはありませんか?
また、Windows アプリ上でコピーしたテキストをVzに貼り付ける場合も、Vzのオートインデントが干渉して体裁が崩れたり、大量のテキストではテンポラリファイルエラーが発生したことはありませんか?
CLIP.DEFを使うと…

 ★別途 cliputil.exe が必要です多賀 奈由太 氏のサイト

WGREPユーティリティ

wguty.lzh (2004/11/27)

  1. 編集モードまたはファイラーモード
    【検索文字列】を入力すると、編集中テキストのディレクトリまたはファイラーで表示中のディレクトリ配下(サブディレクトリを含む)を wgrepで検索し、その結果(wgrep.tmp)をオープンします。
    • 矢印キーやページアップ/ダウンで連動タグジャンプします。
    • 文字キー R,C,W,Z で反対画面をスクロールします。
    • その他のキーを押すとヘルプを表示します。
  2. 文字列入力ウインドウまたはコマンドライン
    wgrepのヘルプを表示します。

タイムスタンプ付きスクラップ

scrap.lzh (2004/11/23)
テキストに埋め込まれたマクロやスクリプトをファイルとして切り出すマクロです。「区切り線」もしくは「ヘッダ」行からファイル名や日時情報を読み取って、元のファイルを復元します。
以下の形式を認識することを確認済みです。

テキストスタックの覗き窓

jenga105.lzh (2004/11/15)
JENGAという名前から洋風積み木崩しを連想されるかもしれませんが、ゲームマクロではありません。あしからず。
Vzのテキストスタックの全ブロックを一覧表示して選択ペーストするマクロです。この趣向のマクロでは Emmett 氏作の STKMENU.DEF が定番ですが、以下の機能拡張をおこないました。

新世代のVzマクロカスタマイザ

custom.lzh (2004/11/07)
VZの公開マクロをカスタマイズするマクロです。本マクロが提案する書式に準拠することによって、

この種のマクロとしては、元祖の ymfcst.def(y.mikome さん作)と機能縮小版の guest.def(拙作)がありますが、双方ともコメントイン・コメントアウトのネスト処理が不完全だという弱点があります。本マクロは旧世代の弱点を解消し、もっと複雑な分岐を可能とし、使用頻度が低い(と思われる)仕様を整理しました。

動的メニュー生成のためのレシピ

recipe14.lzh (2004/10/27)
Vzマクロ作者のための便利なモジュールです。

こんなとき、従来のやり方は

が一般的でした。一部の熱心家が内部バッファをポインタや文字列操作関数、ときには機械語を駆使して編集し、動的にメニューを生成してきましたが、マクロごとに独自に書き直すことが多く、気軽に取り組めるものではありませんでした。
そこで汎用モジュールとして提案するのが本作です。
■効能
本モジュールを使うと…

文字列関数詰め合わせ

string.lzh (2004/10/25)
VZマクロ作者向けの部品です。単体で便利な機能を提供するマクロではありません。
VZはバージョン1.6で便利な文字列関数が追加されました。また、マクロ内部に自前のバッファを確保して使い回すテクニックが浸透したことによって、ずいぶん文字列の扱いが楽になりました。
しかし、あらかじめ個数も長さも予想できない文字列を一元的に扱うには依然として力不足です。マクロ作者の皆さんは、限られた数のヒストリバッファを互いに衝突しないように注意しながら使うか、マクロ毎に専用のコードを書いて凌いできたのではないでしょうか。
この「文字列関数詰め合わせ」に同梱した、

を使えば、一般のプログラミング言語に近いアルゴリズムでコードを書きやすくなります。特に「連想配列」は、変数にわかりやすい名前をつけることができないVZマクロを劇的に改善してくれることでしょう。

連想リンクによるマルチ連番

renso.lzh (2003/06/10)
出版原稿となるテキストでは、リスト、脚注、図、表、写真などを挿入し、本文中から参照します。最終的には種別毎に連番をふらなくてはなりませんが、原稿が完成するまでには、追加・削除が繰り返されるものです。そのたびに手作業で連番を振り直すのは大変です。
その労力を省くために、「連想リンク」(筆者の造語:連番ではなく名前をつけたリンク)を埋めこみながら編集をおこない、内容が完成した最終段階で一括して連番をふる方法があります。その最たるものはLATEXのようなプログラミング言語まがいの組版ソフトです。
RENSO.DEF は、それほど多機能を必要としないユーザ向けにシンプルな「連想リンク」を提唱します。最終的に連番をふるのは勿論のこと、編集作業(リンクの一覧表示やジャンプ、リンクの入力)を支援します。

簡単アウトライン

kaiso.lzh (2003/06/25)

高速安全な【カーソル位置へ挿入】

if101.lzh (2003/06/21)
Vz標準の【カーソル位置へ挿入】(〔Esc〕[I])を改善したマクロです。
■ 標準DEFからの改善点

ファイル名固定によるワンタッチ機能を利用すれば、巨大ブロックのカット&ペーストや、Windowsアプリとクリップボードを介したカット&ペーストが可能です。

外部コマンドでおいしくドリップ

drip.lzh (2003/06/18)
Vzと外部フィルタコマンドを連携するシンプルなマクロです。編集中テキストの全体、もしくはブロック範囲を外部コマンドに渡して、処理結果を書き戻します。
初期設定で以下のコマンドを登録済みです。

押し出し式マーキング

pmark.lzh (2003/06/05)
Vzのマーク機能を最近流行(?)の「押し出し式ファイリング」仕様に変身させます。
〔Ctrl〕+〔Q〕〔M〕によるカーソル位置マーク(マーク#0)は、ジャンプ系の操作で変化してしまうので、意図的なマークにはあまり向いていません。〔Ctrl〕+〔K〕〔1,2,3,4〕によるマーク#1〜#4も、どの番号にどの位置を設定したかおぼえていられません。
そこで、マーク番号を意識せずに次々とマークできて、メニュー(マーク番号と該当行の文字列)からジャンプ先を選択できるマクロを作成しました。

コマンド/マクロキー一覧

kmenu.lzh (2003/06/05)
現在メモリにロードされているコマンド/マクロキーをメニュー表示します。未使用のキーを探すときに利用してください。マクロ作者向けには、Vzのキーアサインに関する詳細なテクニカルノートと汎用モジュールを提供します。(こちらがメインか)

編集テキストをプロジェクト単位で切り替える

cast102.lzh (2003/06/01)
標準の【編集テキスト】とそっくりのメニューを基点にして、ピックファイル (複数のテキストをプロジェクト単位で扱うファイル形式)の作成や、プロジェクトの切り替えをおこないます。ピックファイルをあまり利用しない人でも、【編集テキスト】を拡張した以下の機能は試す価値があります。

VZでファイルに栞をはさむ

siori105.lzh (2003/04/30)
〔ESC〕〔C〕でファイルをクローズすると同時に栞をはさみます。次にファイルをオープンした際、〔ESC〕〔B〕で栞をひらくことができます。栞情報をファイルに保存しますので、Vzを再起動したあとも有効です。
栞をひらく機能を!Openイベントに登録すれば、ファイラーから選択してオープンした際に自動的に栞をひらくので便利です。

VzとGREPを連携する

tagut.lzh (2003/01/15)
VzとGREP(正規表現検索ツール)を連携するマクロです。
【検索対象の指定方法】

【連動タグジャンプモード】

【タグ情報ファイルのサイクリック管理】

【65535行を超えるタグジャンプ】

無尽蔵なマクロキー増設

mujin.lzh (2003/02/04)
Vzの外部マクロを実行する疑似的なキーアサインを理論上、63の63階乗まで定義できます。63×63個ではありません。これはとてつもない数です。それだけ打鍵するなら、普通に〔Esc〕〔^〕(外部マクロの実行)でマクロ名を入力したほうがマシかもしれません。

★ 本マクロは外部マクロローダとして OUTLAW.DEF が組み込まれた環境を前提としていますが、マクロ名とマクロ番号の受け渡しにシステム変数 pm(または旧バージョンのdd,nn)を使用していれば、他の外部マクロローダでも使用できます。

長いファイル名対応擬似ファイラー

flike.lzh (2003/02/03)
Vzのファイラーで長いファイル名を表示するパッチ(高橋洋光氏によるVZT)が発表されていますが、Windows95系のOSにのみ対応しており、今後主流になると思われる WindowsXP には未対応です。
本マクロは、マクロメニューにより擬似ファイラーを表示します。サイズや作成日付は表示せず、長いファイル名のみをメニュー横幅いっぱいに表示しますので、パッチ版のファイラーでは窮屈さを感じる人にもお使いいただけます。

無限階層パス選択メニュー

mugen.lzh (2003/01/22)
看板に偽りあり。本当は最大63階層です。
2階層が可能なら、3階層。3階層が可能なら4階層、5階層、6階層…。果てしない欲望にこたえるべく先手を打って登場した、事実上無制限ともいえる63階層パス選択メニューです。

VZでパス一覧選択

avenu101.lzh (2003/01/16)
最少の打鍵で、特定のパス名でファイラーを起動したり、特定のファイルをオープンしたりするマクロです。
VZのファイラーは強力ですが、サブディレクトリが多くなってくると、渡り歩くのに苦労します。環境変数 VZPATH にパス名を登録しておけば【パス・マスク】の1行ウィンドウでリターンを空打ちすることによって、パスの一覧を表示して選択することができますが、どうしても打鍵数が多くなりますし、自由にショートカットキーを割り当てることができません。
そこで、自前のメニューを作ってみました。

  1. 編集モードからでも起動することができます。
  2. ファイルオープン以外の1行ウィンドウで起動すると、選択アイテム文字列を挿入できます。
  3. 「行番号を含むファイル名」を登録して、いきなりファイルをオープンすることができます。
  4. 環境変数を展開できるので、異なる環境でも同じ登録内容を利用することができます。

デラックスなマクロキー増設

dxkey105.lzh (2002/06/16)
VZ の外部マクロを実行する疑似的なキーアサインを 1000個以上増設できます。 OUTLAW などの外部マクロローダによって、 マクロバッファサイズの制限が取り払われると、今度は「キーアサインが足りない」「キーアサインを憶えきれない」という贅沢な悩みが出てきます。また、「pm="outside", >88」のような短い書式であっても、VZ.DEF 内部にどんどん書き足していくと、マクロバッファを圧迫して、いつかは 「メモリが足りません」 攻撃に見舞われます。DXKEY.DEF はこれらの問題を一挙に解決します。外部マクロローダ OUTLAW と組み合わせて使うことを想定していますが、マクロファイル名とマクロ番号を記憶する変数が同じであれば、他の外部マクロローダと組み合わせてもかまいません。
 ★とりあえずoutlaw v2.09に対応しました

VZマクロ機械語サブルーチン作成支援(β版)

robot.lzh (2002/05/26)
VZマクロ用の機械語サブルーチン作成を支援します。LSI C-86 v3.30c 試食版に付属のr86.exeが必要です。

■ syo さんの作品

辞書なしで使える定型句マクロ

self3.zip (2002/06/07)
定型句関連マクロは様々ありますが、いずれも共通の欠点があります。それは”辞書が無ければ意味がない。辞書の準備がめんどくさい”です。後者の点は、拙作dicmake.defの存在で多少改善しましたが、それでも、辞書を準備する・育てるという発想が必要のままです。そこで、辞書なしで使える定型句マクロは出来ないか??と考えて、ヘリクツを捏ね回してとうとう思いついたトンチ?がこう↓です。”何回も出てくるから定型句なのだ。ファイル自分自身を辞書に使えばよい!”短いファイルでは意味がありませんが、すこし大きめのファイルなら、これで充分いけそうです。 ※多作なsyoさん作品のうち1つを紹介させていただきます。syoさんのホームページにはWzマクロもあります。

■ 耳而夢斎 さんの作品

多段学習型定型句メニュー

umenu098.lzh (2000/10/09) →umenu98i.lzh(2004)
メニュー表示した定型句やファイルを,編集テキストのカーソル位置に出力するための Vzマクロです。
 1 ブロックして起動するだけで簡単に定型句を登録できます
 2 ひとつの辞書に登録できるアイテム数は有効行数×256(約5800超)まで可能です
 3 携帯端末などの行数の少ない画面モードでもメニュー下端を隠しません
 4 表示の優先順位を多段階(ページ単位)で学習します(学習のオン・オフ選択可)
 5 編集ファイルの拡張子に応じた辞書を自動選択できます
 6 ファイラーで初期設定以外の辞書ファイルも選択できます
 7 辞書ファイル以外でもテキストなら辞書として読み込めます
 8 メニュー表示後にも他の辞書に切り替えることができます
 9 語句だけでなく複数行も登録でき,出力時に左揃え処理もできます
 10 出力後のカーソル位置を指定できるのでカーソル移動の手間を省けます
 11 フルパスのファイル名を自動解析してカーソル位置にまるごと挿入できます
 12 優先順位の剥奪,削除および一括削除(アンドゥ可)で辞書を管理できます
 13 辞書は直接編集でき,登録時と同様の特殊コード変換もできます
 14 エイリアス登録ができますので見やすいキーワード型にもなります
 15 環境切替マクロと併用すれば特定環境専用の辞書を呼び出すことができます
 16 擬似階層構造(子辞書のコールと親辞書へのリターン)が可能です

■ N.YAMA さんの作品

VZで、HTML作成!

htm_mk01.lzh (1998/11/14)
インターネットのホームページ等を作成する際使用するHTML形式の文章を作成する為のVZエディター用のマクロです。