| 番号 | 記号 | 初期キー | 機能 |
|---|---|---|---|
| #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 #] . ;再表示