改行を含む検索における強調表示No.24593
わっきー@茨城 さん 08/03/06 14:40
 
お世話になっております、わっきー@ユーザです。

改行を含んだ正規表現検索ですが、ヒットした場合にヒットした文字列の強調表示が
意図しないものになりました。(改行より後ろの空白までカーソル表示が延長される)
バイナリモードで特定のバイト列を検索したい場合にどうしても途中に \n が現れる
ことを考慮する必要があるのですが、通常の改行を含まない検索と同様に表示するこ
とは
仕様上難しいでしょうか?(Ver7.07で確認)

[再現手順]
1.空のテキストファイルに↓の2行を追加

複数行の検索です
テストです

2.カーソルをファイル先頭に移動して「です\nテスト」で正規表現検索

3.結果、1行目の「です」の後ろに黒いバー状態でカーソルが点滅

4.もう一度下方向検索をすると通常のカーソル点滅に戻る


ちなみにこの状態でヒット座標をマクロで取ってみたところ、こちらの方は以下のよ
うに
意図した値になっていました。
foundtopx=12, foundtopy=0, foundendx=6 foundendy=1

[ ]
RE:24593 改行を含む検索における強調表示No.24594
秀丸担当 さん 08/03/06 15:16
 

>改行を含んだ正規表現検索ですが、ヒットした場合にヒットした文字列の強調表示が
>意図しないものになりました。(改行より後ろの空白までカーソル表示が延長され
>る)
>バイナリモードで特定のバイト列を検索したい場合にどうしても途中に \n が現れる
>ことを考慮する必要があるのですが、通常の改行を含まない検索と同様に表示するこ
>とは
>仕様上難しいでしょうか?(Ver7.07で確認)

[その他]→[動作環境]→[検索]の「検索での表示」が「点滅表示」になっている
ときは、ヒットした文字列はカーソル(キャレット)の幅を広げただけになるので、
改行を超えるとこうなってしまいます。

「検索での表示」を「範囲選択」にすると、改行を超えても次の行まで範囲選択
になって見えますが、どうでしょうか。
ただ、範囲選択なのでその後のキー操作が点滅表示とは違うことになります。

[ ]
RE:24594 改行を含む検索における強調表示No.24595
わっきー@茨城 さん 08/03/06 16:00
 
> [その他]→[動作環境]→[検索]の「検索での表示」が「点滅表示」になっている
> ときは、ヒットした文字列はカーソル(キャレット)の幅を広げただけになるので、
> 改行を超えるとこうなってしまいます。
>
> 「検索での表示」を「範囲選択」にすると、改行を超えても次の行まで範囲選択
> になって見えますが、どうでしょうか。
> ただ、範囲選択なのでその後のキー操作が点滅表示とは違うことになります。

ご提案いただいた手法でなんとかなりそうです、ありがとうございました。
範囲選択であればカラーマーカーにも応用できますね。

[ ]