Box選択部分をスペースにNo.08523
yamasan さん 01/04/28 10:00
 
こんにちは。yamadaと申します。
既出の事項であろうかと思いますが、
秀丸の情報交換のサイトで検索してみましたが、探せなかったのでお願いします。
Box選択した部分をスペースで置き換えたい場合、
如何されていますでしょうか?

Box選択後切り取ったり、Delしたりすると、その右側の位置がずれますし、
置換するのは、改行を含んだり、Box選択部分は、出来ないようですし。

ですので、そのような時はInsertキーで上書きモードにして、
スペースキーをずっと押して、削除しています。
度々同じ作業をするときなどに、もっと簡単に出来たら良いなと思います。

逆に、Box貼り付け後に、貼り付けた部分の
右側の位置が動かないようにするのには、
以前にBoxpaste.macというのを教えていただき、このマクロを実行しています。
(作者の方を調べましたが、分かりませんでした。スイマセン。)

Box選択した部分をスペースで置き換える時に、
皆様は如何されているんでしょう。Box選択後それをスペースで置き換えたいです。
お教えください。

[ ]
RE:08523 Box選択部分をスペースにNo.08524
TAKA さん 01/04/28 10:59
 
TAKA です。

>Box選択した部分をスペースで置き換えたい場合、
>如何されていますでしょうか?

1バイト文字と2バイト文字が混在しているところを選択して、
デコボコ状態になる場合までは考慮していませんが、以下のような
マクロでどうでしょうか?
他にも制限(タブ等)がありますが、一度使ってみて下さい。

// マクロ(ここから)
    if( rectselecting )
    { // BOX選択
        disabledraw;

        // BOX情報取得
        #LineCnt = selendy - seltopy + 1;
        #LineLen = selendx - seltopx;
        #X = seltopx;
        #Y = seltopy;

        // 挿入スペース作成
        #I = 0;
        $Space = "";
        while( #I < #LineLen )
        {
            $Space = $Space + " ";
            #I = #I + 1;
        }

        escape;

        // スペース挿入
        #I = 0;
        while( #I < #LineCnt )
        {
            moveto #X, #Y + #I;
            if( linelen <= #X )
            { // BOX内に入らない行は対象外とする
                #I = #I + 1;
                continue;
            }
            beginsel;
            moveto #X + #LineLen, #Y + #I;
            insert $Space;
            #I = #I + 1;
        }

        enabledraw;
    }
    endmacro;
// マクロ(ここまで)

[ ]
RE:08524 Box選択部分をスペースにNo.08525
yamasan さん 01/04/28 13:17
 
yamadaです。
TAKAさん、有難うございました。いつも、スイマセン。
お教え頂いたマクロで、思ったとおりで完璧です。

 | 1バイト文字と2バイト文字が混在しているところを選択して、
 | デコボコ状態になる場合までは考慮していませんが、以下のような
 | マクロでどうでしょうか?
 | 他にも制限(タブ等)がありますが、一度使ってみて下さい。

1バイト文字と2バイト文字が混在時には、
Box選択時に、既に、凸凹ですし、
この作業時にタブ等を含む場合は、これからも皆無であろう ですので、
私の思ったようにマクロ実行後になります。

実は以前から、かなり長い間、如何にか ならないか 考えて 試行錯誤していたもので、
可能となり 嬉しいわけでございます。

マクロ実行後に、アンドゥしてみまして、一度削除後に
左にきたものを元の位置に戻しているということが分かりました。
私も自分でこのようなマクロを作りたいんですが、
なかなか困難であるというのが、実状なものでして。

本当に感謝致します。ありがとうございました。

[ ]