カッコ付きに置換No.09182
og さん 01/07/01 18:30
 
置換時の正規表現なのですが、
行頭の半角数字を、全角スペース+()付きに置換したいのです。
置換前に「^[0-9]」
置換後に「  ([0-9])」だと、「([0-9])」にそのまま変換してしまい
ます。「  ({[0-9]})」とかも同じでした。
ここのところは、何を入れれば良いのでしょうか?
よろしくお願いします。

[ ]
RE:09182 カッコ付きに置換No.09183
番頭++ さん 01/07/01 19:02
 
こんな感じですか ...
replaceall "^[0-9]+", "\x81\x40(\\0)", regular, inselect, ask;

[ ]
RE:09183 カッコ付きに置換No.09184
og さん 01/07/01 20:28
 
番頭++さん、ありがとうございます。

>こんな感じですか ...
>replaceall "^[0-9]+", "\x81\x40(\\0)", regular, inselect, ask;

そのまま、「置換前」に「^[0-9]+」、「置換後」に「\x81\x40(\\0)」
を入れてみたのですが、(\0)の結果が出ました。

[ ]
RE:09184 カッコ付きに置換No.09185
番頭++ さん 01/07/01 21:47
 
>そのまま、「置換前」に「^[0-9]+」、「置換後」に「\x81\x40(\\0)」
>を入れてみたのですが、(\0)の結果が出ました。

すんません、マクロは \\0 で、置換では \0 です。

# help ...

[ ]
RE:09185 カッコ付きに置換No.09186
og さん 01/07/02 09:12
 
番頭++さん、ありがとうございます。

>>そのまま、「置換前」に「^[0-9]+」、「置換後」に「\x81\x40(\\0)」
>>を入れてみたのですが、(\0)の結果が出ました。

>マクロは \\0 で、置換では \0 です。

やってみました。全角スペース+カッコ付きで置換してくれました。
「\x81\x40(\0)」を参考に、自分でもいろいろ入れてみたのですが、
「置換前」^[0-9]
「置換後」□(\0)
で、全角スペース+カッコ付き にすることもできました。
助かりました。ありがとうございました。


[ ]
RE:09186 カッコ付きに置換No.09189
og さん 01/07/02 15:51
 
その後いろいろとやっています。サイトにある関係文書も読んでるんですが。
良かったらヒントだけでも頂けないでしょうか?

質問は、こうなのです。

1.一桁の数字も二桁以上の数字も一度に置換できないでしょうか?
2.行頭の「問題1」など文字列はどうやってヒットさせるのでしょうか?


問題1***********************
1****
2****

問題20**********************
21****
22****

「問題1」「問題20」の部分は、[1],[20]のように置換
階層下の「1」「21」の部分は、(1),(21)のように置換
したいのです。

○「問題」の部分を置換しようとしているのですが、
置換前 「^問題[0-9]」置換後 「\0」だとダメなようです。

○「1***」「21***」は、
置換前 「^[0-9]」置換後「\0」でできます。

自分が今やっているのは、
「問題***」が(知識が無くて)置換できないので、
1.先に「1***」「21***」を置換しておく
2.次に「問題***」を「1」「20」の数字に置き換える
 置換前:「問題」、置換後:「」

(先に「問題」をやると「1」「20」ばかりになるのでわからなくなる)

なのですが、問題があります。
どちらも「1」〜「9」までは、「^[0-9]」でヒットするのですが、10のように
二桁はだめです。ですので、一桁の部分だけ範囲選択、二桁の部分だけ範囲選択
([0-9][0-9]して、正規表現を使っています。

[ ]
RE:09189 カッコ付きに置換No.09190
さん 01/07/02 17:07
 
1. 検索 ^[0-9]+  置換 (\0)
2. 検索 ^問題\f[0-9]+ 置換 [\1]



[ ]
RE:09190 カッコ付きに置換No.09193
番頭++ さん 01/07/02 17:53
 
> 1. 検索 ^[0-9]+  置換 (\0)

行の初めが 0-9 の一文字以上の繰り返し (数字) 、
それに ( ) を付ける。

> 2. 検索 ^問題\f[0-9]+ 置換 [\1]

行の初めが「問題」で始まり、次に 0-9 の一文字以上の繰り返し (数字) 、
それに [ ] を付ける。

「秀丸」のヘルプで、「タグ付き正規表現による置換」を参照のこと。

http://www.maruo.co.jp/hidesoft/
『秀丸エディタQ&A集』正規表現関連を参照のこと。

# 久々に書いたような気がする ... 昔は、定番 ...
# 解説ハリマオ ...

[ ]
RE:09193 へるぷも、あーるーさーーーNo.09196
番頭++ さん 01/07/02 18:07
 
「行の始まりが ...」ですね。

> 2. 検索 ^問題\f[0-9]+ 置換 [\1]

これ、ちがくない ...

replaceall "^問題\\f[0-9]+", "\\0[\\1]", regular, inselect, ask;

# 確認もせんと ... 便乗は ... あせりが ...

[ ]
RE:09196 へるぷも、あーるーさーーーNo.09200
小西 さん 01/07/02 21:24
 
>replaceall "^問題\\f[0-9]+", "\\0[\\1]", regular, inselect, ask;
マクロ知らへんけど、置換はOKよ?

[ ]
RE:09196 へるぷも、あーるーさーーーNo.09201
きいろいまふらあ さん 01/07/03 01:22
 
>> 2. 検索 ^問題\f[0-9]+ 置換 [\1]
>
>これ、ちがくない ...

???「問題n」→「[n]」だからよいんじゃ?

と突っ込む私こそが突っ込まれるべき???

[ ]
RE:09189 カッコ付きに置換No.09203
TAKA さん 01/07/03 12:03
 
TAKA です。

小さんからのレス(hidesoft.2:09190)で解決しているとは思いま
すが、頻繁に行う作業ならマクロの方がよさそうですので、マクロ
の紹介をします。

>1.一桁の数字も二桁以上の数字も一度に置換できないでしょうか?

これは、直前のパターンの1回以上の繰り返しを表す「+」で可能
です。
数値は「[0-9]」ですので、2桁以上の数値なら「[0-9]+」となり
ます。

>2.行頭の「問題1」など文字列はどうやってヒットさせるのでしょうか?

行頭は「^」です。先ほどの2桁以上の数値と組み合わせると、
「^問題[0-9]+」となります。


>問題1***********************
>1****
>2****
>
>問題20**********************
>21****
>22****
>
>「問題1」「問題20」の部分は、[1],[20]のように置換
>階層下の「1」「21」の部分は、(1),(21)のように置換
>したいのです。

置換後は、
[1]***********************
(1)****
(2)****

[20]**********************
(21)****
(22)****
となって欲しいと思いますが、「問題」を削除するには、タグ付き
正規表現による置換を利用することで可能です。
秀丸ヘルプのキーワード検索で「タグ付き正規表現による置換につ
いて」を指定すれば詳細を見れます。
置換元に「\f」置換後に「\0」「\1」・・・を指定することで文字
列に区切りをつけてその区切り単位で処理することが可能です。
今回の場合ですと、「問題」の後に区切りを入れて、その区切り以
降(\1)の部分を置換すれば良い訳です。
つまり、「^問題\f[0-9]+」を「[\1]」に置換することで「問題」の
部分は捨ててしまって、数値の部分だけを置換することが可能にな
ります。

ここまでは、小さんのレス(hidesoft.2:09190)の詳細な内容です。

これらの一連(置換2回)の処理を実行するのには、以下のような
マクロを使えば簡単です。
範囲選択している場合は、その行のみが対象です。
マクロ内では「\」はダブらす必要があります。

// テストマクロ(ここから)
    disabledraw;
    if( !selecting )
    { // 範囲選択なし
        selectall;
    }
    $SearchBuf  = searchbuffer; // 検索条件退避
    #SearchOpt  = searchoption;

    copy2;
    #FH = hidemaruhandle( 0 );
    openfile "/h";
    #TmpFH = hidemaruhandle( 0 );
    paste;
    replaceallfast "^[0-9]+", "(\\0)", regular;
    replaceallfast "^問題\\f[0-9]+", "[\\1]", regular;
    selectall;
    copy;
    setactivehidemaru #FH;
    closehidemaruforced #TmpFH;
    paste;

    setsearch $SearchBuf, #SearchOpt;   // 検索条件復帰
    enabledraw;
    endmacro;
// テストマクロ(ここまで)


正規表現については、
現在、改訂作業中のQ&A集(第5版 (HTML形式)β版)
http://win.blue.co.jp/~jr-kun/qa5prev/hidemaru_qa/
の中の、
正規表現について
http://win.blue.co.jp/~jr-kun/qa5prev/hidemaru_qa/4_regulr.html
タグ付き正規表現とは?
http://win.blue.co.jp/~jr-kun/qa5prev/hidemaru_qa/4_tagreg.html
なども非常に参考になると思います。

[ ]
RE:09203 カッコ付きに置換No.09222
og さん 01/07/06 09:31
 
小さん、ありがとうございました。
1. 検索 ^[0-9]+  置換 (\0)
2. 検索 ^問題\f[0-9]+ 置換 [\1]

できました。
“\0”と“\1”がどう違うのか判らなかったので、
やってみたら「2」の方での置換結果が[1]にはならず
[問題]になりました。

番頭++さん、小西さん、きいろいまふらあさん、TAKAさん
ありがとうございました。

>置換元に「\f」置換後に「\0」「\1」・・・を指定することで文字
>列に区切りをつけてその区切り単位で処理することが可能です。

「区切りをつける」は解釈できました。
あと、\0と\1 の使い分けが出来ていないので色々試しています。

秀丸ヘルプも読んでみて、行頭の“(”に対応させるには
“\(”が必要だと言う事も判りました。

[ ]
RE:09222 カッコ付きに置換No.09223
og さん 01/07/06 11:39
 
「正規表現」を用いた置換は結構使いますので、ヘルプのほかに
紹介された本を参考に勉強したいと思います。

今トライしているのが、“半角数字”を“全角数字”に置換する
ことなのですが、単純に「[0-9]+」「[0-9]+」では、
半角数字が「[0-9]+」に変換されてしまいました。

[ ]
RE:09223 カッコ付きに置換No.09225
TAKA さん 01/07/06 12:15
 
TAKA です。

>今トライしているのが、“半角数字”を“全角数字”に置換する
>ことなのですが、単純に「[0-9]+」「[0-9]+」では、
>半角数字が「[0-9]+」に変換されてしまいました。

置換後の文字列に、タグ付き正規表現による置換(「\0」等)の正
規表現以外は使えません。

置換を10回(0→0,・・・9→9)行うなどの必要があります。

マクロなら以下のようになります。
// マクロ(ここから)
    $SearchBuf  = searchbuffer; // 検索条件退避
    #SearchOpt  = searchoption;
    disabledraw;

    replaceallfast "0", "0";
    replaceallfast "1", "1";
    replaceallfast "2", "2";
    replaceallfast "3", "3";
    replaceallfast "4", "4";
    replaceallfast "5", "5";
    replaceallfast "6", "6";
    replaceallfast "7", "7";
    replaceallfast "8", "8";
    replaceallfast "9", "9";

    setsearch $SearchBuf, #SearchOpt;   // 検索条件復帰
    enabledraw;
LEND:
    endmacro;
// マクロ(ここまで)

[ ]
RE:09225 カッコ付きに置換No.09234
og さん 01/07/06 23:49
 
TAKAさん、ありがとうございます。

>>今トライしているのが、“半角数字”を“全角数字”に置換する
>>ことなのですが、

>置換後の文字列に、タグ付き正規表現による置換(「\0」等)の正
>規表現以外は使えません。

 そうですか… 調子に乗ってやってみましたが、
置換前(半角数字) [0-9]+  置換後(全角数字) [0-9]+ では
出来ないのですね。

>マクロなら以下のようになります。

 マクロ、早速登録させて頂きました。ありがとうございました。
 難なく変換できました。
 ひとつ我がままな質問をさせてください。
 この置換を“範囲を選択”“矩形選択”してできないでしょうか?

 ちょうど一年前、山紫水明さんに作って頂きましたマクロ(文字置換.Mac)
をずっと使わせて頂いております。正直言って無茶苦茶便利です。
 最近仕事で矩形選択をして「半角数字」→「全角数字」に変換
していたんですが、何故か文字列があっちこっちにとんでしまうと
いう現象に出会いました。(処理中とかも表示されたりします)
 もちろん“全文に対して”とか、少ない範囲での矩形なら
何とも無いんですが、500桁くらいを矩形選択でやると
どうもいけないようです。なにかまずい手順でやってしまったのでしょうか?

[ ]
RE:09234 カッコ付きに置換No.09235
TAKA さん 01/07/07 00:21
 
TAKA です。

> ひとつ我がままな質問をさせてください。
> この置換を“範囲を選択”“矩形選択”してできないでしょうか?

矩形選択を完璧に対応(半角全角混在などのデコボコ対応等)する
のは、少し難しいので私はパスしますが、以下のマクロで、範囲選
択している場合は、その部分を、そうでない場合は全体を対象とす
ることが可能です。
#この前のマクロの応用だけですが。

// マクロ(ここから)
    if( !selecting )
    { // 範囲選択なし
        selectall;
    }
    $SearchBuf  = searchbuffer; // 検索条件退避
    #SearchOpt  = searchoption;
    disabledraw;

    // 置換対象を別の秀丸へ貼り付けて全置換を行い元に戻す
    copy2;
    #FH = hidemaruhandle( 0 );
    openfile "/h";
    #TmpFH = hidemaruhandle( 0 );
    paste;

    replaceallfast "0", "0";
    replaceallfast "1", "1";
    replaceallfast "2", "2";
    replaceallfast "3", "3";
    replaceallfast "4", "4";
    replaceallfast "5", "5";
    replaceallfast "6", "6";
    replaceallfast "7", "7";
    replaceallfast "8", "8";
    replaceallfast "9", "9";

    selectall;
    copy;
    setactivehidemaru #FH;
    closehidemaruforced #TmpFH;
    paste;

    setsearch $SearchBuf, #SearchOpt;   // 検索条件復帰
    enabledraw;
LEND:
    endmacro;
// マクロ(ここまで)


> ちょうど一年前、山紫水明さんに作って頂きましたマクロ(文字置換.Mac)
>をずっと使わせて頂いております。正直言って無茶苦茶便利です。
> 最近仕事で矩形選択をして「半角数字」→「全角数字」に変換
>していたんですが、何故か文字列があっちこっちにとんでしまうと
>いう現象に出会いました。(処理中とかも表示されたりします)
> もちろん“全文に対して”とか、少ない範囲での矩形なら
>何とも無いんですが、500桁くらいを矩形選択でやると
>どうもいけないようです。なにかまずい手順でやってしまったのでしょうか?

後で、山紫水明さんからコメントがあると思いますが、矩形選択が
出来るといいですね。

[ ]
RE:09235 カッコ付きに置換No.09237
TAKA さん 01/07/07 01:20
 
TAKA です。

>矩形選択を完璧に対応(半角全角混在などのデコボコ対応等)する
>のは、少し難しいので私はパスしますが、以下のマクロで、範囲選

デコボコがなければ、以下のマクロで矩形選択もOKです。
デコボコがあっても正常に動作しないといけないと思いますので、
秀丸の不具合かもしれません。後で、報告しておきます。

// マクロ(ここから)
    #Sel = 0;
    if( selecting )
    { // 範囲選択
        if( rectselecting )
        { // BOX選択
            #Sel = 1;
        }
    }
    else
    {
        selectall;
    }
    $SearchBuf  = searchbuffer; // 検索条件退避
    #SearchOpt  = searchoption;
    disabledraw;

    // 置換対象を別の秀丸へ貼り付けて全置換を行い元に戻す
    copy2;
    #FH = hidemaruhandle( 0 );
    openfile "/h";
    #TmpFH = hidemaruhandle( 0 );
    paste;

    replaceallfast "0", "0";
    replaceallfast "1", "1";
    replaceallfast "2", "2";
    replaceallfast "3", "3";
    replaceallfast "4", "4";
    replaceallfast "5", "5";
    replaceallfast "6", "6";
    replaceallfast "7", "7";
    replaceallfast "8", "8";
    replaceallfast "9", "9";

    selectall;
    copy;
    setactivehidemaru #FH;
    closehidemaruforced #TmpFH;
    if( #Sel == 0 )
    { // 通常の選択
        paste;
    }
    else
    { // BOX選択
        pasterect;
    }
    setsearch $SearchBuf, #SearchOpt;   // 検索条件復帰
    enabledraw;
    endmacro;
// マクロ(ここまで)

[ ]
RE:09237 カッコ付きに置換No.09238
TAKA さん 01/07/07 01:32
 
TAKA です。

>デコボコがあっても正常に動作しないといけないと思いますので、
>秀丸の不具合かもしれません。後で、報告しておきます。

// テストデータ(ここから)
A0123456
A0123456
A0123456
// テストデータ(ここまで)

1行の「0」から3行目の「2」まではBOX選択後に置換を行うと

// 置換後NG(ここから)
A0123456
2A013456
A0123456
// 置換後NG(ここまで)

のように2行目がおかしくなります。
本当は、

// 置換後OK(ここから)
A0123456
A0123456
A0123456
// 置換後OK(ここまで)

になって欲しいです。
一瞬、秀丸の不具合かと思いましたが、マクロ実行後に、アンドゥ
を1回実行することで何がおきているかを理解しました。
確かに、このマクロではおかしくなるのが正解ですね。

誰かが、完璧なマクロを作ってくれることを期待します。
私は、自分で利用しないので、このマクロに関してはここまでとし
ます。

[ ]
RE:09234 矩形範囲選択置換No.09245
山紫水明 さん 01/07/07 17:06
 
 ogさん,こんにちは。

》 ちょうど一年前、山紫水明さんに作って頂きましたマクロ(文字置換.Mac)

》 最近仕事で矩形選択をして「半角数字」→「全角数字」に変換
》していたんですが、何故か文字列があっちこっちにとんでしまうと
》いう現象に出会いました。(処理中とかも表示されたりします)
》 もちろん“全文に対して”とか、少ない範囲での矩形なら
》何とも無いんですが、500桁くらいを矩形選択でやると
》どうもいけないようです。なにかまずい手順でやってしまったのでしょうか?

 これは #9127(6/27) の文字変換.Mac Ver.3 のことですね。
 少しイメージがつかめないのですが,500桁というと通常の画面ではないようで
す。差し支えなければデータの一部を示していただければ考えやすいのですが。内
容は変えていただいて結構です。形式がわかればいいですから,1行分で結構で
す。
 それを何行くらい矩形選択されるのでしょう。
 それとウィンドウの折り返しは何桁で使われているのでしょう。

     では, (^^)/~
                                        山紫水明

[ ]
RE:09245 矩形範囲選択置換No.09246
TAKA さん 01/07/07 19:07
 
TAKA です。

> 少しイメージがつかめないのですが,500桁というと通常の画面ではないようで
>す。差し支えなければデータの一部を示していただければ考えやすいのですが。内
>容は変えていただいて結構です。形式がわかればいいですから,1行分で結構で
>す。

おそらく、[9238]のようなデータだとは思いますが。
ちょっと難しそうです。

[ ]
RE:09238 カッコ付きに置換No.09247
TAKA さん 01/07/07 19:17
 
TAKA です。

>一瞬、秀丸の不具合かと思いましたが、マクロ実行後に、アンドゥ
>を1回実行することで何がおきているかを理解しました。
>確かに、このマクロではおかしくなるのが正解ですね。

でも、秀丸の不具合と言えば、不具合だとは思いますが。
選択した部分に対して、挿入すれば、きちんと置換されるべきだと
は思います。
秀丸内部で、削除してから挿入という動作みたいなので、このよう
な不具合が出ています。
#秀丸側でなんとかしてもらえないかなー

[ ]
RE:09246 矩形範囲選択置換No.09251
山紫水明 さん 01/07/08 16:11
 
 og さん,TAKAさん,こんにちは。

  og さんのあつかわれているデータがよくわからないので何ともいえませんが,
TAKA さんの示された データの限りでは次のようにマクロを改造すればで何とかな
りそうです。
     では, (^^)/~
                                        山紫水明

//--------- 文字変換.Mac -----------------------------------//
//              全角半角大小変換    Ver.4

call Save_search;
disabledraw;
if(!selecting){
    disableinvert;
    question "全文で変換しますか?";
    if(!result) endmacro;
    else selectall;
}
if( rectselecting ) #rectsel = 1;   //BOX 範囲選択の場合
#bx=seltopx;    #by=seltopy;
#ex=selendx;    #ey=selendy;
#rs = 1;    //BOX 選択で範囲外だったら 0 にする

Mojimenu:
menu "文 字 の 変 換",
     "A) 英字大文字に",
     "B) 英字小文字に",
     " 《全角に変換》",
     "C) 英 数 字",
     "D) 英    字",
     "E) 数    字",
     "F) カタカナ",
     " 《半角に変換》",
     "G) 英 数 字",
     "H) 英    字",
     "I ) 数    字",
     "J) カタカナ";
#r = result;
if(#r > 3) {escape; moveto #ex, #ey;}
if(#r == 0) endmacro;
else if(#r == 1 ||#r == 4 || #r == 9) goto Mojimenu;
else if(#r == 2) toupper;
else if(#r == 3) tolower;
else if(#r == 5){$replace = "[A-Za-z0-9]"; call ToZenkaku;}
else if(#r == 6){$replace = "[A-Za-z]"; call ToZenkaku;}
else if(#r == 7){$replace = "[0-9]"; call ToZenkaku;}
else if(#r == 8){$replace = "[ヲ-ン]"; call ToZenkaku;}
else if(#r == 10){$replace = "[A-Za-z0-9]"; call ToHankaku;}
else if(#r == 11){$replace = "[A-Za-z]"; call ToHankaku;}
else if(#r == 12){$replace = "[0-9]"; call ToHankaku;}
else if(#r == 13){$replace = "[ァ-ヶ]"; call ToHankaku;}
if( !#rectsel ) $replace = $replace + "+";
escape;
redraw;
call Reset_search;
endmacro;

ToZenkaku:
while(1){
    searchup $replace, regular;//
    if(result == 0 || y < #by || (y == #by && x < #bx)) break;
    if( #rectsel ) call RS;
    if( #rs ) tozenkakukata;
    escape;
}
return;

ToHankaku:
while(1){
    searchup $replace, regular;//
    if(result == 0 || y < #by || (y == #by && x < #bx)) break;
    if( #rectsel ) call RS;
    if( #rs ) tohankaku;
    escape;
}
return;

RS:
if( x >= #bx && x < #ex ) #rs = 1; else #rs = 0;
return;

Save_search:    //検索状態を保存・変更
$sb = searchbuffer;
#so = searchoption;
if (!searchmode) {                  // 検索状態を範囲選択に変更
    openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
    writeregnum "SelectFound",1;
    #modechange = 1;
    envchanged;
    closereg;
}
return;

Reset_search:   //検索状態を元に戻す
if (#modechange) {
    openreg "CURRENTUSER", "Software\\Hidemaruo\\Hidemaru\\Env";
    writeregnum "SelectFound",#s_mode;
    envchanged;
    closereg;
}
setsearch $sb, #so;
return;

//                  2000.7.22   Ver.1
//                  2000.7.24   Ver.2
//                  2001.6.23   Ver.3
//                  2001.7.8    Ver.4
//----------------------------------------------------------------//
GO HIDESOFT

[ ]
RE:09247 カッコ付きに置換No.09263
秀丸担当 さん 01/07/09 18:33
 
>でも、秀丸の不具合と言えば、不具合だとは思いますが。
>選択した部分に対して、挿入すれば、きちんと置換されるべきだと
>は思います。
>秀丸内部で、削除してから挿入という動作みたいなので、このよう
>な不具合が出ています。
>#秀丸側でなんとかしてもらえないかなー

確かに変ですが、どうしたものやら?
秀丸内部では確かに削除してから挿入です。
とりあえず仕様とさせてください。

同じ矩形選択をして、[切り抜き]、直後に[貼り付け]、
とすると元に戻るべきでしょうか。

[ ]
RE:09263 カッコ付きに置換No.09275
TAKA さん 01/07/10 12:32
 
TAKA です。

>>でも、秀丸の不具合と言えば、不具合だとは思いますが。
>>選択した部分に対して、挿入すれば、きちんと置換されるべきだと
>>は思います。
>>秀丸内部で、削除してから挿入という動作みたいなので、このよう
>>な不具合が出ています。
>>#秀丸側でなんとかしてもらえないかなー
>
>確かに変ですが、どうしたものやら?
>秀丸内部では確かに削除してから挿入です。
>とりあえず仕様とさせてください。

はい。了解しました。


>同じ矩形選択をして、[切り抜き]、直後に[貼り付け]、
>とすると元に戻るべきでしょうか。

この場合は元に戻る必要性は感じません。「切り抜き」と「貼り付
け」を意図して別けた訳ですから、「切り抜き」後の状態がどう
なっているかを知っているはずです。
その状態に対して、「貼り付け」を行えば、どうなるかは分かると
思います。
今回の問題は、範囲選択した部分に対して挿入した場合だけでよい
と思います。その場合は、本当は範囲選択した部分に対して挿入に
なって欲しいところですが、現在の秀丸の内部仕様が削除後に挿入
となっているので、回避できないですね。


山紫水明さんが、今回の問題を回避するマクロを作ってくれました
が、秀丸の今後の内部仕様の変更にも期待しています。
#アンドゥのパック化が可能になれば、山紫水明さんのマクロを
 パック化することで、アンドゥ1発で元の状態に戻すことも可能
 だなー

[ ]