番号 | 記号 | 初期キー | 機能 |
---|---|---|---|
#39 | - | ^QE ^[Home](NEC-98:^[UP]) | 画面の上端へ移動 |
現在表示している画面の上端にカーソルを移動する。桁位置に変更はないが,漢字等2バイト文字に係る再表示を伴う場合は,x位置が更新される可能性がある。
画面の上端とは,システム変数lyが0を示すときのy座標で,テキストレコードのwa.6に保存されている。
#39を実行するとカーソルの存在する[論理|表示]行が変更される。カーソル行を変更することなく,画面上のカーソル位置を上端にしたい場合(View Pointの更新)は,標準搭載マクロ「表示位置変更」([CLR] or \[HOME])の機能のひとつを使う。
オプション | 機能 |
---|---|
Es | [Ctrl]+[↑][↓](^QE/^QX)を2回実行でスムーズスクロール開始 [NEC-98固有機能] |
画面の上端へ移動
戻り値 r:0=正常終了(画面の上端に移動), -1=スムーズスクロール/ジャンプ起動(Es が + で画面上端のとき)
無効
無効
無効
無効
注:当コマンドの拡張ではない。
何らかの処理の実行後にカーソル行を画面の上端に移動したいという要求はありがちだ。例えば,一定の書式を見出しに持つ文書を閲覧するときのページャ等であろう。次の見出しを検索して移動し,見出しの位置を画面上端に固定することにより,内容をより多く参照できたり,逆に内容が少ない場合でもカーソル行のブレを生じさせずにすむ。
実際の手法は,ky(保存したカーソルのウィンドウ内のy位置)に0(ゼロ)を格納して&d(画面の再表示)を実行すればよい。
1 ^[CR] "前後の見出し" ?. RX[+, mp[=2, ;正規表現を有効にした検索モード ps[="^@", ;検索文字列設定 &s ;サイレントモード (ks&1)?#r ?#c ;シフト実行なら後方検索 ps], ;実行前の状態に戻す mp], RX], (r)?{ ;r== 正常終了:0 / 失敗:-1 &m(19) ;失敗したら「見つからない」表示 }?{ ky-, ;カーソル行のy位置をリセット } &d #] . ;再表示