◀一般トップへ
  • 5734 全て行置換の結果
    • 5735 Re:全て行置換の結果
      • 5736 Re2:全て行置換の結果
        • 5737 Re3:全て行置換の結果
    • 5738 Re:全て行置換の結果
      • 5739 Re2:全て行置換の結果
        • 5740 Re3:全て行置換の結果
        • 5741 Re3:全て行置換の結果
        • 5742 Re3:全て行置換の結果
      • 5752 Re2:全て行置換の結果
        • 5753 答えは、最後まで読んで下さい。
          • 5755 RE: 答えは、最後まで読んで下さい。
  • [5734] 全て行置換の結果 じゅうじ 2007年01月12日 00:26

    新年おめでとう御座います。
    早速ですが、
    行置換なのに、正規表現が、vi/ex の s///g の動きをします。

    DATE:2007/01/01 01:23:45

    1.正規表現「..:」→「-」全て置換
    DA-2007/1/1 --45

    2.正規表現「..:」→「-」全て行置換
    DA-2007/1/1 --45

    3.正規表現「.*?:」→「-」全て置換
    ---45

    4.正規表現「.*?:」→「-」全て行置換
    ---45

    2.行置換なのに、DA-2007/01/01 01:23:45 にならない
    4.行置換なのに、-2007/01/01 01:23:45 にならない
    Bregexp.dll V1.02 Jul 15 2006
    SAKURA 1.5.14.0
    • [5735] Re:全て行置換の結果 ryoji 2007年01月12日 19:23

      あれれ?

      ABAB===ABAB

      のようなテキストを、
      正規表現「^AB」で検索すると行頭のABだけが強調表示
      正規表現「\bAB」で検索すると行頭と===の後のABふたつが強調表示
      なのに、
      空文字に「すべて置換」したときには

      ===ABAB
      や、
      ===

      になるのが困る、

      AB===ABAB
      や、
      AB===AB

      になって欲しい、
      という人がいるから「すべて行置換」でそのような動き(/g)にしたのではなかったですか?

      ...てか、>>dev:4369 でじゅうじさんご自身が「今の「すべて置換」は無くなっても済ませられると思います。」って言ってるし~。(´_`)
      「すべて行置換」という名称は、やっぱり?だけど...
      • [5736] Re2:全て行置換の結果 かろと 2007年01月12日 22:29


        張本人なので、一応コメントしときます。

        >になって欲しい、
        >という人がいるから「すべて行置換」でそのような動き(/g)にしたのではなかったですか?

        まさに、その通りです。

        >「すべて行置換」という名称は、やっぱり?だけど...

        これは、良い表現があれば変えればいいと思います。
        僕も、やっぱり?と思ってます(笑)が、他に思いつかなかっただけですので。
        • [5737] Re3:全て行置換の結果 maru 2007年01月13日 01:14

          >>「すべて行置換」という名称は、やっぱり?だけど...
          >僕も、やっぱり?と思ってます(笑)が、他に思いつかなかっただけですので。
          いまさらですが、例えば「行単位で処理する」みたいな名称のチェックボックスにならないですかね?
          さらに、チェックが入っているときは単発の置換でも行単位で処理するようにして
          「置換」と「すべて置換」の動作を同期させる感じで。
    • [5738] Re:全て行置換の結果 じゅうじ 2007年01月13日 16:14

      >いまさらですが、例えば「行単位で処理する」みたいな名称のチェックボックスにならないですかね?
      >さらに、チェックが入っているときは単発の置換でも行単位で処理するようにして
      >「置換」と「すべて置換」の動作を同期させる感じで。
      賛成です、そうすれば、「すべて置換」の1個のボタンで済みますから、迷わなくて済みます。同期?「置換」は1回だけですので、同じ文字が連続していなければ「すべて置換」も「行置換」も同じ動作です。

      名称は、「すべて行置換」だと、ショートカットが見えません。上のと合わせて、両方「全て…」にすれば1文字節約出来ます。

      仰るとおり、「すべて行置換」は分かりずらいので、上「繰返し置換(A)」と下「すべて置換(A)」。それに、追加機能で「全て行置換(A)」は、vi/ex のs/で /g 無しの動き。
      (A)は仮のalphabet. でどうでしょうか?
      • [5739] Re2:全て行置換の結果 maru 2007年01月13日 17:54

        同期の意味がわかりにくいでしょうか。
        お察しの通り、「すべて置換」と「すべて行置換」をまとめてひとつのボタンにするのが目的ですが
        「置換」の動作においても、チェックボックスの状態に応じて変化させたい、という話です。
        下の提案内容の5と6にあたります。
        「置換」の連続実行と「すべて置換」の結果を同じにするのが目的です。

        ■置換前
        1行目:ABABC
        2行目:ABABC
        この状態で、カーソルがファイルの先頭にあり「^AB」を「」に「置換」

        ■置換後
        1行目:ABC
        2行目:ABABC
        というシナリオを想定してください。

        ■提案内容
        1.「すべて置換」と「すべて行置換」をまとめてひとつのボタンにする。
        2.行置換を指示するチェックボックスを新設。
        3.チェックボックスオフで「すべて置換」は、現在の「すべて置換」と同じ結果。
        4.チェックボックスオンで「すべて置換」は、現在の「すべて行置換」と同じ結果。
        5.チェックボックスがオフのときは「置換」後の選択範囲は1行目のABになる。
          「置換」を繰り返し押せば、現在の「すべて置換」と同じ結果。
        6.チェックボックスがオンのときは「置換」後の選択範囲は2行目先頭のABになる。
          「置換」を繰り返し押せば、現在の「すべて行置換」と同じ結果。
        • [5740] Re3:全て行置換の結果 かろと 2007年01月13日 18:46


          >1.「すべて置換」と「すべて行置換」をまとめてひとつのボタンにする。
          >2.行置換を指示するチェックボックスを新設。
          >3.チェックボックスオフで「すべて置換」は、現在の「すべて置換」と同じ結果。
          >4.チェックボックスオンで「すべて置換」は、現在の「すべて行置換」と同じ結果。
          >5.チェックボックスがオフのときは「置換」後の選択範囲は1行目のABになる。
          >  「置換」を繰り返し押せば、現在の「すべて置換」と同じ結果。
          >6.チェックボックスがオンのときは「置換」後の選択範囲は2行目先頭のABになる。
          >  「置換」を繰り返し押せば、現在の「すべて行置換」と同じ結果。

          当時の事、忘れてきましたが、
          まず、もともと個人的には要らない機能だったのですが、何度か要望が出てたので、簡易的に入れました。

          簡易的にというのは、maruさんの提案のようにチェックボックスにする方法も、ちらっと頭には浮かんでいたのですが、
          記憶が定かでないですが、
          「置換」が、「検索」「置換」を繰り返して処理してるので、そのまま実現しようとすると「置換」だけの問題でなく、
          「検索」側も一緒に変える必要があることと、そうすると検索文字を反転させる処理も一緒に変える必要があって
          けっこう面倒なんじゃないかと思って、簡易的に「すべて行置換」なんていうことにしちゃいました。

          誰か、その当たりも加味して、やってくれると助かります。
        • [5741] Re3:全て行置換の結果 じゅうじ 2007年01月13日 20:58

          ▼ maruさん
          >■置換前
          1行目:A>ABAB>AB
          2行目:A>ABAB>AB
          >この状態で、カーソルがファイルの先頭にあり「^AB」を「」に「置換」
          >
          >■置換後
          1行目:A>AB>AB
          2行目:A>ABAB>AB
          >というシナリオを想定してください。
          >
          >■提案内容

          置換前の最初の状態で、正規表現の「\bAB」→「」で「置換」ボタン後、
          チェックボックスがオンの時、1行目のA>AB>[AB] が白黒反転
          チェックボックスがオフの時、1行目のA>[AB]>AB が白黒反転
          これは、一体どうなんでしょう。仰っている同期の意味は分かりました。

          失礼、今まで勘違いしてました、ファイル全体「置換」ボタンというのは、
          置換して、次の検索じゃなくて、最初検索して、置換ですね。
          なので、始めに「下検索」はしなくて良いんですね。(HELPに有ります)
          その辺意識しないで使ってる人も多いと思います。
          だから、「上検索」して「置換」しても上に行かないなあ、とか。

          ▼ かろとさん
          折角チェックボックスにしても、ボタン2個が1個になるだけでは無駄ということでしょうか。
        • [5742] Re3:全て行置換の結果 ryoji 2007年01月14日 03:48

          ▼ maruさん
          > ■提案内容
          個人的には、「すべて行置換」ボタンのかわりに[正規表現]のサブオプションとして[「すべて置換」は置換の繰返し]のような名称のチェックボックスがあれば十分ですけど...
          ONのときは今の「すべて置換」と同じ動作
          OFFのときは今の「すべて行置換」と同じ動作
          あとで複数行にまたがる置換をサポートするようなことがあっても、この名称のままでいけるかな~、なんて。

          単発の行置換、というのはやるとしたら正規表現以外の場合でもやらないと、それはそれで変なので、追加作業量は結構多くなるんじゃないでしょうか。
          (よく見てないけど、今の「すべて行置換」は正規表現ONのときだけ「すべて置換」と違う動作にしてるのでは?)
          他エディタにも見当たらない機能なので、「便利だから欲しい」と思う人自身がやらなければ、きっと誰もやらないような気がします。
          ※あとで複数行にまたがる置換をサポートしようとしたときは、行置換を残したままやらないといけなくなるので、その作業はますます複雑化するでしょうね
      • [5752] Re2:全て行置換の結果 げんた 2007年01月19日 00:54

        >「全て…」にすれば1文字節約出来ます。
        昔,メニューなどで「すべて」と「全て」が混在していたので統一しようと言うことで全部「すべて」とひらがなに直したことがあります.「すべて」のままで何か良い方法が考えられませんか?
        • [5753] 答えは、最後まで読んで下さい。 じゅうじ 2007年01月19日 12:16

          ▼ げんたさん
          今年も雪降るんでしょうか。

          > >「全て…」にすれば1文字節約出来ます。
          > 昔,メニューなどで「すべて」と「全て」が混在していたので統一しようと言うことで全部「すべて」とひらがなに直したことがあります.「すべて」のままで何か良い方法が考えられませんか?

          上から、
           置換(R)
          繰返し置換(A)
          すべて置換(?)
          以上3行になります。
          ショートカットと、ボタンの位置は変更無しということです。
          • [5755] RE: 答えは、最後まで読んで下さい。 げんた 2007年01月20日 00:48

            すいません.せっかくお試し版を作ってくださったのに,見る前に書き込んだのがバレバレですね
            m(_ _)m.

            >今年も雪降るんでしょうか。
            これは...何かの暗号?