秀丸マクロ: カーソル移動
カーソル移動系の文を紹介します。
上・下・左・右
up, down, left, rightは単独で指定すると1つ移動します。 まとめて移動したい場合は引数を指定します。
// 上 up; up 10; // 下 down; down 10; // 左 left; left 10; // 右 right; right 10;
行の先頭・最後
// 行頭へ移動 golinetop; // 行末へ移動 golineend;
ファイルの先頭・最後
// ファイルの先頭へ移動 gofiletop; // ファイルの最後へ移動 gofileend;
x座標・y座標を指定 moveto
x座標・y座標を指定して移動する場合は、movoto を使用します。
x座標、y座標どちらも先頭を「0」として数えます。
// x座標、y座標どちらも先頭は0 movoto x座標, y座標 // ファイルの先頭へ移動 movoto 0, 0; // 5行目の先頭へ移動 moveto 0, 4;
カーソル位置を退避させて元に戻す場合
マクロプログラムで何らかの処理を行った後に、 カーソルの位置を元に戻したい場合は次のように記述します。
- 最初にカーソルの位置を退避させる
- 目的の処理を行う
- movoto でカーソルの位置を戻す
// カーソルの位置を退避 #num_x = x; #num_y = y; // 目的の処理を行う // カーソルの位置を元に戻す moveto #num_x, #num_y;
行数と桁数を指定 movetolineno
行番号と桁番号で移動する場合は movelineno を使用します。
行番号、桁番号のどちらも先頭は「1」です。0ではありません。
指定する順番は「桁番号, 行番号」のように、桁番号が先なので注意が必要です。
// 桁番号、行番号共に先頭は「1」 movetolineno 桁番号, 行番号; // ファイルの先頭へ移動 movetolineno 1, 1; // 5行目の先頭へ移動 movetolineno 1, 5;
タブストップ移動(CSV/TSV)
カーソル位置よりも前(右)や
後ろ(左)にあるタブストップに移動することができます。
タブ区切りのTSVファイルを扱う際に使える文です。
公式マニュアルには「TSV/CSVモードでタブ区切り/カンマ区切りの次の位置にジャンプする」 と書かれています。 ですが試した所、TSVファイルでのタブ区切りでしか正常に機能しませんでした。
// タブ前進(右) forwardtab; // タブ後退(左) backtab;