検索した文字列の前や後ろに文字を追加した場合、検索で再ヒットする

投稿者: arere3 声9 投稿

お世話になっています。 検索した文字列の前や後ろに文字を追加した場合、F3検索で再ヒットするという現象が10.0.5から発生しています。 具体的には、 xyzという文字を単語検索したとします。 ヒットしたxyzに対し、前方にカーソル移動してabcを付け足し、abcxyzという文字にします。 この時カーソルはcとxの間にありますが、F3を押して再検索すると、abcxyzのxyzの部分にヒットしてしまいます。 ヒットしたxyzに対し、前方にカーソル移動してabcを付け足し、abcxyzという文字にしたあと、カーソルを前方に一つ移動させ、カーソルをbとcの間にある状態からF3を押して再検索すると、abcxyzにはヒットしません。
arere 様 いつも EmEditor Professional をお使いいただき、誠にありがとうございます。 カーソル移動を行うと、選択状態が解除されるため、そのカーソルから先に存在する文字列を検索するようになります。選択状態のままで検索を行えば、その選択テキストが検索しようとする文字列に一致する場合は、それをスキップして次の一致する文字列にジャンプするようになっています。したがって、これで仕様になるのですが、10.0.4 以前と何か動作に違いがありますでしょうか? どうぞよろしくお願い申し上げます。
VisualStudio及びMS Wordで試したところ、いずれもカーソル位置に関係なくマッチせず、EmEditorとは異なる動作をしています。 つまりワード検索の場合はカーソル前のテキストも1ワード分さかのぼってマッチングを判定しているようです。 また検索対象語はハイライトされますが、ハイライトされない単語にマッチングするという意味でも不自然な感じがしました。
返事ありがとうございます。 検索したxyzにabcを付け足しabcxyzになる操作をする場合、xyzが選択されている状態から、一旦左にカーソル移動し、abcと入力します。 この一旦左に時点でカーソル移動し、abcのaを付け足した時点で、カーソル位置のxyzの選択状態は解除されます。 選択状態が解除されているのにも関わらず、F3を押すとabcxyzのxyzが再び選択されるのは動作としておかしいのではないでしょうか。 10.0.4で同様の操作をしている筈ですが、その時には違和感を覚えなかったことから、10.0.5から発生しているものとして書き込んでいます。
arere 様 いつも EmEditor Professional をお使いいただき、誠にありがとうございます。 EmEditor の検索の動作は、かなり以前から、同じ動作であり、書いていただいた動作が正常です。テキスト選択を解除すれば、そのカーソル位置から右へ文字列を検索します。このときに、以前に検索した場所は記憶していません。 どうぞよろしくお願い申し上げます。
カーソル位置以降から検索するのが仕様というのはわかりますが、ワード検索なのに別のワードの一部とマッチしてしまう例外条件が存在するのはよくないですね。 ワード検索でもしワードの途中にカーソルがある場合はそのワードをスキップしてから次の検索を開始するのがよさそうです。こちらの仕様に変更してはいかがでしょうか。
pascal 様 いつも EmEditor Professional をお使いいただき、誠にありがとうございます。 確かに、「単語のみ検索する」がチェックされていた場合には、ご指摘のように、おかしいですね。これは、v10.0.4 でも動作は同じでしたが、将来のバージョンでは検討します。 大変申し訳ありませんでした。ご指摘ありがとうございます。 どうぞよろしくお願い申し上げます。
現在の動作仕様である点については了解しました。 この仕様からすると、 検索した結果、カーソルが移動し、カーソル下のハイライト表示されている状態になりますが、カーソルを左に一つ移動して文字を入力するとハイライトが解除されている状態は、テキスト選択が解除されているとは言えず、文字入力後もう一つカーソルを移動すると見た目はカーソルが移動しただけですが、テキスト選択が解除されているという事なんですね。 将来仕様を再検討されるとのことで、改められる事を望みます。
arere 様 いつも EmEditor Professional をお使いいただき、誠にありがとうございます。 ハイライトが解除されている状態で、テキスト選択が解除されています。だから、たとえば、「abcxyz a」 と書かれているテキスト(選択テキストは無し)で、c と x の間にカーソルを置いてから、[単語のみ検索する] をチェックして [正規表現を使用する] はチェックしないで xyz を検索しても xyz が検索に一致してしまいます。 この現象を正確に書くと、次のようになります。テキストが選択されていない状態で、「下を検索」を実行すると、カーソル位置から下(右)方向に検索が始まります。ここで、カーソルから直前左に文字があるかどうかにかかわらず、カーソル位置が単語の区切りであると仮定しているところに問題があるのです。 この問題は、[正規表現を使用する] がチェックされている場合には発生しません。 これについては、仕様ではなく不具合だと言えます。将来のバージョンで修正したいと思います。大変申し訳ありませんでした。 どうぞよろしくお願い申し上げます。

このトピックの投稿: 9