1行上の同じカラムの1文字を複写するマク
No.09712
maverick007
さん 21/12/30 11:18
下記マクロをキーに割り当てて使っています。
if (lineno > 1) {
up;
#c = code;
down;
$c = char(#c);
insert $c;
}
endmacro;
だいたいはうまくいくのですが、たまに意図しない文字が入ってしまうことがありま
す。
発生するのはクリック等でカーソルを移動した直後が多いでしょうか。
うまくいかなかった場合も、その文字をBSで消して再度実行するとうまくいきます。
問題を指摘いただければ幸いです。
[
△
]
RE:09712 1行上の同じカラムの1文字を複写
No.09713
秀丸担当
さん 22/01/05 09:47
同じ原因かわからないですが、見た目上の1行上にならなことはありえます。
上下移動だけをするときは、元のx位置を維持しようとする動きがあります。
例えば、
abcdef
123
というテキストで、fの位置をクリックして直接移動し、下矢印キーを押すと123の行
の末尾にカーソルが来ます。
ここから上矢印キー(up)すると、dの位置ではなく、fの位置になります。
この動作を無くすには、マクロ先頭で
moveto x,y;
としておくといいと思います。
クリックしたときと同じように直接移動し、上下移動で維持する元のx位置がmoveto
x,y;の場所と同じになります。
[
△
]
RE:09713 1行上の同じカラムの1文字を複写
No.09714
maverick007
さん 22/01/05 20:47
秀丸担当様
直ったようです。
ありがとうございました。
[
△
]