Vz Resources
Commands
2019-05-07T21:05:28+09:00

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

番号記号初期キー機能
#59#G^L [F05]検索文字列の取得

s==0(編集モード)

検索文字列の取得

戻り値 r:取得した文字列の長さ

製品版サンプル(標準)の vz[ibmj].def では,自動伸長ブロック機能を有するマクロに置き替えられている。

ブロックモードではブロック指定した範囲が,非ブロックモードではカーソル位置以降の1語が取得され,ヒストリバッファpsに格納される。ブロック指定した範囲に改行が含まれる場合は取得せず,ブロック選択状態が維持される変化しない。行ブロックも改行が含まれるため動作しない。

つまり,コマンドが正常終了か否かの判定で,取得した文字列の長さを示す戻り値rを確認する以外に,ブロックモードで実行した場合はブロック状態が残っているかどうかも判定材料になる。

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

無効

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

無効

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

無効

s==4(メニュー)

戻り値rの内容

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

無効

マクロによる拡張

24 ^L [F05] "検索文字列の連続取得"
        ?.
        (cm||mb)?{ #G xx=r, cm=0, . }
        &s
        #b
        cp+=xx, #? &s
:A      (ct<2)? >B
        a=ct, #d
        (ct>=a)? >A
:B      &d
        xx=cp,  #B
        xx-=cp, #G
        cm=0,

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