Vz Editor
2007-04-11T06:20:12+09:00

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

番号記号初期キー機能
#22-^P制御文字の入力

s==0(編集モード)

このコマンドは20h未満のコントロールコードを入力するための仲介を行う。実行するとコード表示部(画面最下段左端)に「^」を表示して1文字入力待ちとなる。コントロールコードに対応する文字「@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_」(40h〜5Fh)を入力すると,対応するコントロールコードがカーソル位置に出力される。ただしLFコード(0Ah/^J)を出力することはできない。

コントロールコード一覧
対応文字出力コード機能略号機能
@00hNULヌル
A01hSHヘディング始点
B02hSXテキスト始点
C03hEXテキスト終端
D04hET送信終了
E05hEQ問い合わせ
F06hAK了解応答
G07hBLベル
H08hBSバックスペース
I09hHT水平タブ
J出力不可LFラインフィード
K0BhHM垂直タブ
L0ChCL/FF改ページ/用紙送り
M0DhCRキャリッジリターン
N0EhSOシフトアウト
O0FhSIシフトイン
P10hDEデータリンクエスケープ
Q11hD1デバイスコントロール1
R12hD2デバイスコントロール2
S13hD3デバイスコントロール3
T14hD4デバイスコントロール4
U15hNK否定応答
V16hSN同期
W17hEB送信済みブロック終端
X18hCNラインの切断
Y19hEM媒体の終端
Z1AhSB^Z(代替)
[1BhECエスケープ
\1Ch? File separator
]1Dh? Group separator
^1Eh? Record separator
_1Fh? Unit separator

戻り値r:成功=0, 失敗=-1

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

編集モードと同じ

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

編集モードと同じ

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

ファイラーイベント中で分岐可能なコードを発生する。次の例のように,ショートカットキーとして使うことができる。

1 "!Filer"
        (r)??.
        (r==':'||r=='L')? r='D',
        r[, &Fm(r) (r>=0)? {
                 sp+=2, (r)>?{ #F #L #M #P #S #V #W #+ #> #< #O #E }
        }
        r], (r)>!{
        X       >X      ;eXec
        H       #H      ;sHell
        @       #Q      ;vzpath
        R       #R      ;rename
        K       #K      ;makedir
        N       #N      ;new file
        (17)    >Q      ;16='^Q'
        }
.:X      pm="%1 %2", #!
.:Q     &z("qview"[) &* &Zd(r]) ;Q
.

s==4(メニュー)

無効

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

無効

マクロによる拡張について

このコマンドだけは拡張を考えない方がよい。:-)


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