文字列の下検索に関する問題No.02064
ていく さん 01/04/26 11:04
 
文字列の下検索に関して不具合がありましたので、報告させていただきます。

例えば、下記の様な文字列があって...

    package java.lang.*;

"package"という文字を下検索しようとした場合に、カーソルが package の直前にあ
ると、その文字列を発見することが出来ないようです。

ただ、上検索の場合はカーソルの位置に関係なく前方文字列を見つけることができる
ため、これを代替手段として使用していますが、文字列検索での小さな見逃しをなく
すために、上検索しか使えないのは厳しいですね...。

だからどうしろと言う気も特にないのですが、一応ご報告まで。

[ ]
RE:02064 文字列の下検索に関する問題No.02065
ひろ さん 01/04/26 12:12
 
 ていくさん今日は、ひろです。
> "package"という文字を下検索しようとした場合に、カーソルが package の直前にあ
> ると、その文字列を発見することが出来ないようです。
 仰る通り出来ません。「全置換」ではファイルの先頭でも問題なく置換さ
れるので、それほど致命的な事は起きませんが、これは秀丸の仕様で、マク
ロだけでなく通常の検索も同じです。
 何故この様な仕様か御存知になりたい場合、一先ず「その他」→「動作環
境」→「カーソル」→「カーソル形状」を「DOS 風」にしてください。そう
するとカーソルは package の直前ではなく、「p」の位置に在ることがお解
り頂けると思います。そして秀丸の検索は「カーソル位置以前/以後」では
なく「カーソル位置より前/後」なので、ご指摘のような上/下検索になりま
す。

 これはマクロの互換性も考えると、今更変更できませんかね。->秀丸担当さん

[ ]
RE:02064 文字列の下検索に関する問題No.02066
ENCODINGSHIFTJIS さん 01/04/26 12:18
 
>例えば、下記の様な文字列があって...>>    package java.lang.*;
>"package"という文字を下検索しようとした場合に、カーソルが package の直前に
>あると、その文字列を発見することが出来ないようです。
>ただ、上検索の場合はカーソルの位置に関係なく前方文字列を見つけることができ
>るため、これを代替手段として使用していますが、文字列検索での小さな見逃しを
>なくすために、上検索しか使えないのは厳しいですね...。
ハイ
マクロの searchdown も同じです、カーソル位置の次から検索します。
開始カーソル位置からはマッチしません。たぶん繰り返し操作でカーソル位置が止まる
のを防ぎたいからだと思います。
参考知識:MIFESのマクロでは開始の位置を0、+1で選択できます。


[ ]
RE:02066 文字列の下検索に関する問題No.02067
TAKA さん 01/04/26 12:39
 
TAKA です。

>参考知識:MIFESのマクロでは開始の位置を0、+1で選択できます。

この機能、欲しいですね。もちろん、マクロ命令にも。
+1が現在の仕様なので、0にするオプションがあれば、グーです。

[ ]
RE:02066 文字列の下検索に関する問題No.02069
Arimac さん 01/04/26 12:52
 
>マクロの searchdown も同じです、カーソル位置の次から検索します。
>開始カーソル位置からはマッチしません。たぶん繰り返し操作でカーソル位置が止まる
>のを防ぎたいからだと思います。

私もエディタを作ったことがありますが、
カーソル位置から検索すると
一度マッチしたあと次に進まなくなります。
 
私がやった解決策はカーソル位置とは別に
検索開始位置の変数を持っていて
マッチした後には次の検索開始位置をその変数に入れ、
カーソルを移動した場合はその位置をその変数に入れる
という風にしました。
 
次の検索開始位置にはマッチした文字列の先頭の文字の
次の文字の位置を入れるタイプと最後の文字の
次の文字の位置を入れるタイプの2通りがありました。

[ ]
RE:02067 文字列の下検索に関する問題No.02070
ENCODINGSHIFTJIS さん 01/04/26 17:38
 
>+1が現在の仕様なので、0にするオプションがあれば、グーです。

left; searchdown が定形ですが、ファイルの先頭は ?

個人的には正規表現の \G に当たる、アンカーで動かないsearchdown
が欲しいです。パターンで文字列を刻むのに便利です。
マクロ内文字列操作には、正規表現の切り出しがないですから。

[ ]
RE:02070 文字列の下検索に関する問題No.02072
TAKA さん 01/04/26 18:58
 
TAKA です。

>>+1が現在の仕様なので、0にするオプションがあれば、グーです。
>
>left; searchdown が定形ですが、ファイルの先頭は ?

+1の方は現在の仕様ですので、説明はいらないと思いますが、
0にするオプションとは、カーソル位置の文字を含めて検索対象と
するオプションです。左にカーソルを移動するオプションではあり
ません。そのため、ファイルの先頭からの検索も可能になります。

[ ]
RE:02072 文字列の下検索に関する問題No.02081
ていく さん 01/04/27 09:58
 
こんにちは、ていくです。

> >>+1が現在の仕様なので、0にするオプションがあれば、グーです。
> >
> >left; searchdown が定形ですが、ファイルの先頭は ?
>
> +1の方は現在の仕様ですので、説明はいらないと思いますが、
> 0にするオプションとは、カーソル位置の文字を含めて検索対象と
> するオプションです。左にカーソルを移動するオプションではあり
> ません。そのため、ファイルの先頭からの検索も可能になります。
>
つまり、現状ファイルの先頭に位置する文字列を下検索によって検知することが
出来ないってことですよね。わたしが問題として提起したかったのは、この点です。

もし、改善する気があるのだがマクロの互換性を気にしてためらっておられるの
なら、単純に別関数を用意すればいい話だと思うのですけどね。

[ ]
RE:02081 文字列の下検索に関する問題No.02082
Arimac さん 01/04/27 12:40
 
>もし、改善する気があるのだがマクロの互換性を気にしてためらっておられるの
>なら、単純に別関数を用意すればいい話だと思うのですけどね。

昔、windexというX68000用のエディターを改造して
コマンドを追加しようとしたら、undo用に内部で
命令コードを作っていて、この中のコマンドの種類を
表わすビットに空きが無くて断念したことがあります・・・
秀丸エディタも安易にコマンドや関数を増やそうとしない
のはそういった事情もあるのかも・・・

[ ]
RE:02067 文字列の下検索に関する問題No.02160
秀丸担当 さん 01/05/09 18:28
 
>>参考知識:MIFESのマクロでは開始の位置を0、+1で選択できます。
>
>この機能、欲しいですね。もちろん、マクロ命令にも。
>+1が現在の仕様なので、0にするオプションがあれば、グーです。

たしかに、ファイルの先頭の文字が検索できないというのも、
もどかしいので、オプションであってもいいかもしれません。
検討しておきます。

[ ]
RE:02160 文字列の下検索に関する問題No.02161
ていく さん 01/05/10 09:29
 

On Wed, 09 May 2001 18:28:09 +0900
秀丸担当 <xxxxxxxxxx@maruo.co.jp> wrote:
>
> >>参考知識:MIFESのマクロでは開始の位置を0、+1で選択できます。
> >
> >この機能、欲しいですね。もちろん、マクロ命令にも。
> >+1が現在の仕様なので、0にするオプションがあれば、グーです。
>
> たしかに、ファイルの先頭の文字が検索できないというのも、
> もどかしいので、オプションであってもいいかもしれません。
> 検討しておきます。
>
ありがとうございます。
ご検討いただけるとは、投稿した甲斐がありました。

----------------------------------------------
mailto:xxxx@rd5.so-net.ne.jp
----------------------------------------------

[ ]