Vz Resources
Commands
2019-10-28T21:05:28+09:00
コマンド拡張で学ぶVZマクロ入門 #68
番号 | 記号 | 初期キー | 機能 |
#68 | #V | ^KH | インデントの変更 |
s==0(編集モード)
インデントの変更を実行する。
戻り値 r:常に 0
- カーソル行または行ブロックで指定した範囲のインデントを変更する入力待ちになる
- 左右カーソル移動にアサインされたキーの入力でインデントを変更する
- [Enter]で確定する(変更しなくても確定が必要で[ESC]のキャンセルも不可)
- 前後1語移動にアサインされたキーで ht 単位の変更になる
- 挿入される空白類はEuに応じてスペースかタブが選択される(混在時の動作は不定)
- マクロで使用するときは次の命令がすぐに実行されないよう直後に&Crを入れる
ある意味中途半端な制御構造を持つVZマクロを記述する際は,オートインデント機能でたいていは事足りてしまうため,あまり意識することのないコマンドかもしれないが,LISPのように細かく複雑なインデントを多用する言語を記述する際には非常に便利なコマンドであるに違いない。
きわめて便利な場面は,むしろインデントのばらつきを解消するときである。コードの書かれた部分が左端に到達した行があっても,その行はそれ以上は動かず,他のインデントが残った行のみがインデント桁数減少の対象となるため,ブロック範囲を指定したのちカーソルを左へ移動し続けると,ブロック範囲のすべての行のインデントは解消され,改めて右へカーソルを移動するとインデントが揃った状態になる。
関係するオプション
名称 | 初期値 | 分類 | 機能 |
Eu | - | 編集スイッチ | [TAB]をスペースに変換 |
s==1(文字列入力モード)
無効
s==2(コマンドラインモード)
無効
s==3(ファイラーモード)
無効だが,同じシンボル #V を使うファイラー専用コマンド「ディレクトリ表示モード変更」がある。ファイラー専用コマンド #V はファイラーの表示用一時バッファを書き換える効用があり,ファイラーの再表示に利用することができる。(連続実行)
s==4(メニュー)
- メニューのキャンセル
- メニューの戻り値として以下の値をrにセットする
戻り値rの内容
- 下位7ビット:コマンド番号68==$44
- 上位9ビット:フラグやカーソル位置
- 最上位ビット:特殊キー入力フラグ
- 次の7ビット:カーソル位置
- 次の1ビット:コマンド/マクロキーフラグ
- リードオンリーメニューでは上位オクテットに$FF
s==4(1文字入力モード)
無効
マクロでの拡張
入力待ちになるコマンドのため,マクロでの利用はほぼないと思われる。
コマンド拡張で学ぶVZマクロ入門 #68
The VZ resources,
valid XHTML 1.0 Strict.
©2007-2019
by mezala.