「置換」の時の動作が、最近一部で変化しNo.33910
yamashita さん 15/01/27 10:35
 
ご無沙汰しております、山下です。

現状の秀丸(秀丸 8.42 と 8.50)が、
以前の秀丸(秀丸 8.33 以前)と
異なる動作をするように思いますのでご報告します。

以下、それぞれのバージョンを「現状の秀丸」「以前の秀丸」と書きます。

(1)秀丸の準備その1
「現状の秀丸」で、
1行目:(return)
2〜4行目:abc123(return)
5〜6行目:(return)
とします。
ただし、開いている秀丸の高さは20行ほどで、要するに1〜6行目が全て画面に
収まっている状態です。

この秀丸の状態で、一度保存しておいてもらった方がいいと思います。

(2)操作その1
・ファイル先頭にカーソルを置きます。
・[検索] メニューから [置換] を選び、置換のダイアログを開きます。
 オプションは、
  次の秀丸エディタも続けて置換 off
  一周する off
  追加の条件 off
  検索文字列を強調 on
  置換の前に確認 on
 です。
・[検索] のテキストボックス:abc
 [置換] のテキストボックス:a
 として、[下検索] を実行します。
・abc の部分が選択され、[置換の確認(下方向)] のダイアログが出ます。
 [置換+次] を選択します。(=置換して、次へ行く)
 以下同じで、[置換+次] を選択します。
・最後まで行くと、自動的に [置換の確認(下方向)] のダイアログが閉じて、
 カーソルは、最後に文字列を置換した位置にあります。

 これは、期待通りの動作です。

(3)操作その2
秀丸を、(1)秀丸の準備その1 の状態に戻します。
・ファイル先頭にカーソルを置きます。
・[検索] メニューから [置換] を選び、置換のダイアログを開きます。
 オプションは、(2)と同じです。
・[検索] のテキストボックス:abc
 [置換] のテキストボックス:a
 として、[下検索] を実行します。
・abc の部分が選択され、[置換の確認(下方向)] のダイアログが出ます。
 [下候補] を選択します。(=置換しないで、次へ行く)
 以下同じで、[下候補] を選択します。
・最後まで行き、(ESC) を押して [置換の確認(下方向) の]ダイアログが閉じます。
 すると、カーソルが、ファイル末尾にあります。

(4)「現状の秀丸」と「以前の秀丸」の違い
「以前の秀丸」で(3)の操作を行うと、最後の (ESC) を押してダイアログを閉じ
た時、
カーソルは、最後に文字列が一致していた位置(=最後の abc がある位置)にあり
ます。

要するに、「現状の秀丸」は
置換処理が終わった時のカーソル位置は、
「最後に文字列がマッチした位置で、[置換+次] と [下候補] のどちらを選ぶか」
に依存する、ということになっていると思います。

「以前の秀丸」は、
置換処理が終わった時のカーソル位置は、
「最後に文字列がマッチした位置で、[置換+次] と [下候補] のどちらを選ぶか」
に依存しない、と思います。

上記変化は、私の設定に依存した状況でしょうか?

ユーザとしては、置換する/しない という、カーソル位置とは直接関係ない操作が、
カーソル位置に影響することには違和感があります。

(5)秀丸の準備その2
全く同じ話なんですが、秀丸の高さが20行ほどの時に、
1行目:(return)
2〜4行目:abc123(return)
5〜30行目:(return)
とします。
要するに、ファイル先頭にカーソルを移動すると、末尾は画面から見えなくなってい
る状態です。

この状態で、(2)や(3)の操作をします。
すると、「現状の秀丸」で(3)をした時、カーソルがファイル末尾に行ってしまっ
て、かなりびっくりします。
ユーザの意識は、4行目にある「abc」付近にありますので、(ESC) を押した瞬間に、
4行目にあったカーソルが30行目にジャンプする感じになります。

以上、よろしくお願いします。

[ ]
RE:33910 「置換」の時の動作が、最近一部No.33911
秀丸担当 さん 15/01/27 11:57
 

置換の確認のときの動作は、V8.40で確かに変更がありました。
V8.35以前では、確認ダイアログで「下候補」をすると、確認ダイアログが閉じ
てしまい、使いづらいということで、V8.40で閉じないようにしました。

確認ダイアログが閉じてしまうと、またカーソル位置を合わせて置換ダイアログ
を出すという作業が必要になってしまいます。
最後まで確認すると、確認してから置換するという作業ができず、単に確認しか
できないものでした。

V8.40以降では、確認してから置換することができるように、閉じないようにし
ました。
ですが、最後の文字列で止まってしまうと、「置換+次」や「一気」は下方向に
向かっているので、最後しか置換できないという不都合がありました。
最後の文字列まで確認してから、今度は上方向にも置換ができるようにするため
に、現状のように変更しました。

「置換+次」と「下候補」のカーソル位置の違いに違和感があるということで、
閉じる問題を無くしたうえで違いを無くすとしたら、「置換+次」のほうを、置
換したらファイルの末尾まで移動させるようにするということも考えられますが、
置換のほうの挙動を変えるのも良くない気がします。
あるいは、従来の動作となるようにオプションを追加することも考えられます。

現状であるオプションとして、
[その他]→[動作環境]で左下の「上級者向け設定」をONにして、
[その他]→[動作環境]→[検索]→[検索ダイアログ]の「置換の確認の種類」があ
ります。
これを「タイプ3」にすると、確認は「はい」「いいえ」というボタンになりま
す。
この確認ダイアログでは、「下候補」「上候補」をして確認する目的は無くして
いますが、Alt+PやAlt+Nのキー操作と、キー割り当てされた「下候補」「上候
補」(標準でF3とShift+F3)も使うことができます。
この場合、カーソル位置の動きは従来通りになりますが、この方法ではどうでし
ょうか。

[ ]
RE:33911 「置換」の時の動作が、最近一部No.33912
yamashita さん 15/01/27 12:04
 
早速のご返答、ありがとうございます。
細かな歴史と事情がある様子ですが、精読しますので時間を下さい。
まー、こういうのは、ユーザによって使い方が偏ってたりするので、仕様を決める側
としては難しいこともあるのだろうと拝察いたします。

[ ]