* 固定タブ位置移動 [#wa411529]
-ページ: [[Macro/投稿]]
-作者: [[りーや]]
-カテゴリー: pls
-投稿日: 2005-11-20 (日) 23:29:37
** メッセージ [#tbec57b3]
-前方
#code(perl){{
# 固定タブ位置で前方移動 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(); # カーソル左移動
}
#...............................................................................
}}
-後方
#code(perl){{
# 固定タブ位置で後方移動 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(); # カーソル右移動
}
#...............................................................................
#...............................................................................
}}
----
#comment