Vz Editor
2007-04-21T08:07:40+09:00

コマンド拡張で学ぶVZマクロ入門 #24

番号記号初期キー機能
#24#I^QI \[F05]文字列の複写

s==0(編集モード)

最新(最後/直前)の検索/記憶文字列がカーソル位置に書き込まれる。

&?("%s",ps) と等価のコマンドで,単に検索文字列ヒストリーバッファ(ps)の内容を出力する。したがって,置換処理の直後では「検索」文字列ではなく「置換」文字列の方が出力される。

戻り値 r:常に 0

検索文字列ヒストリーバッファ(ps)の内容を出力するコマンドは,ほかに#61(文字列の選択複写)がある。#24は最新の文字列をカーソル位置に出力するだけの単機能だが,編集モード以外でも使用できる。#61はヒストリーバッファの内容を選択・編集しつつ出力できるが,それ自身がテキストウィンドウを出すため,編集モード以外では使用できない。

s==1(文字列入力モード)

編集モードと同じ

s==2(コマンドラインモード)

編集モードと同じ

s==3(ファイラーモード)

無効

s==4(メニュー)

メニューを閉じてキーに応じた戻り値をrにセット(下位バイトがコマンド番号を示す)

→メニューの返り値に関する説明

s==4(1文字入力モード)

無効

マクロによる拡張

ps以外のバッファの文字列を出力する拡張#24

= ex#24 = by H_ear
#if 0
バッファ選択#24
#endif
* mad for vz!
24 ^QI ""
        (s>2)?.                         ;念の為
        (ks&1)?{                        ;シフト実行なら
                !01 (r<0)?r-,           ;メニューを出す
                ps[=pq..(114+r),        ;pq..114==ps
        }                               ;ps〜pt: pq+228〜241
        #24 ?.                          ;通常実行はここで終了
        ps],                            ;psを戻す
* popup menu
1 "Bufs",6,7
        "pS" "pF" "pX" "pA" "pW" "pR" "pT"
*

シフト起動するとメニューを出して,バッファを選択して出力できる。編集モード以外ではコマンドが優先的に実行されるため,編集モード以外で使用するためには,コマンド#24に割り当てたキーを外すか,マクロの実行キーをコマンドに割り当てていないキーに変更する必要がある。


コマンド拡張で学ぶVZマクロ入門 #24
The VZ resources, valid XHTML 1.0 Strict. ©2007 by mezala.