# 固定タブ位置で後方移動 NextTab.pls
@TabPos = (7, 8, 12, 40, 73); # Tab位置を昇順に指定
MoveHistSet(); # 現在位置を移動履歴に登録
$CurCol = 0 + ExpandParameter('$x'); # 現在の桁位置(col)
GoLineEnd(); # 行末に移動(折り返し単位)
$EndCol = 0 + ExpandParameter('$x'); # 現在の桁位置(col)
MoveHistPrev(); # 移動履歴:前へ
@WkList = grep {$_ > $CurCol} @TabPos;
$NextPos = shift @WkList;
if($NextPos){
if($NextPos >= $EndCol) {
GoLineEnd(); # 行末に移動(折り返し単位)
if($NextPos > $EndCol) {
$blanks = sprintf('%' . ($NextPos - $EndCol) . 's', ' ');
InsText($blanks); # テキストを貼り付け
}
} else {
for($i=0; ($i + $CurCol) < $NextPos; $i++) {
Right(); # カーソル右移動
}
}
} else {
GoLineEnd(); # 行末に移動(折り返し単位)
Right(); # カーソル右移動
}
#...............................................................................
#...............................................................................
# 固定タブ位置で前方移動 PrevTab.pls
@TabPos = (7, 8, 12, 40, 73); # Tab位置を昇順に指定
$CurCol = 0 + ExpandParameter('$x'); # 現在の桁位置(col)
@WkList = grep {$_ < $CurCol} @TabPos;
$NextPos = pop @WkList;
if($NextPos){
for($i=0; ($CurCol - $i) > $NextPos; $i++) {
Left(); # カーソル左移動
}
} else {
GoLineTop(0); # 行頭に移動(折り返し単位)
Left(); # カーソル左移動
}
#...............................................................................