秀丸マクロ: カーソル移動

カーソル移動系の文を紹介します。

参考: (公式サイト)カーソル移動系文

上・下・左・右

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;

タブキー移動

カーソル位置よりも前(右)や 後ろ(左)にあるタブストップに移動することができます。
タブ区切りのTSVファイルを扱う際に使える文です。

公式マニュアルには「TSV/CSVモードでタブ区切り/カンマ区切りの次の位置にジャンプする」 と書かれています。 ですが試した所、TSVファイルでのタブ区切りでしか正常に機能しませんでした。

// タブ前進(右)
forwardtab;

// タブ後退(左)
backtab;