範囲選択内でヒットした件数を表示No.40019
styth さん 22/09/09 08:29
 
(1)
 範囲選択をしておいて、範囲内でヒットした件数を表示させたいのですが、できま
すか?
 ヒット候補の表示 >上/下検索ボタンに個数表示 の件数です。

(2)
 ヘルプのタイプミスを見つけました。

 目次− 検索系文− find文
>キー割り当ての「検索...」コマンドを実行するのと同じように、カーソル位置や範
>囲選択の文字列を検索文字列として拾うあ、動作環境の動作に従って、検索ダイア
>ログを出します。

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

[ ]
RE:40019 範囲選択内でヒットした件数を表No.40020
igus さん 22/09/09 10:01
 
styth さんこんにちは。
試しにマクロを作ってみたのですが、こんな感じでどうでしょうか?
ちょっと前に「マクロ作者会議室」の「秀丸エディターで修正」で作ったマクロを応
用してみました。


//ヒット件数.mac
begingroupundo;#num=0;
if(selecting){}else{selectall;}
if(imestate ==1){imeswitch};//半角入力
#tx=seltopx;#ty=seltopy;#ex=selendx;#ey=selendy;
$s=input("");
while(1){
  replacedown $s , "",inselect2,hilight;
  if(!result)break;
  moveto #tx,#ty;beginsel;moveto #ex,#ey;
  #num=#num+1;}
endgroupundo;undo;
message "ヒット件数は "+str(#num)+"件";

[ ]
RE:40019 範囲選択内でヒットした件数を表No.40021
秀丸担当 さん 22/09/09 10:22
 
検索ダイアログ中での表示は、[選択した範囲]がONのときの個数表示は出ないです。
内部的な都合が幾つかあって、V8.94のときにそういう修正になっていました。
行単位ですが部分編集にすればできそうかと思ったのですが、通常はスクロールバー
のマップも含めてテキスト全体が対象でした。
[その他]→[ファイルタイプ別の設定]→[アウトライン]→[部分編集]で、ローカル編
集モードに設定しておくと、部分編集の範囲だけにできました。

ちなみに、個数を知る方法の1つとして、昔は全置換で同じ文字列に置換してみると
いうのがありましたが、最近は複数選択や色付けしてマクロでその個数を調べたりす
る方法もあります。
例えば、検索ダイアログでは[すべて検索 - 複数選択]しておいたとして、どれだけ
選択されているかはマクロのmultiselectcountで知ることができます。
そういうちょっとしたマクロの場合、V9.19のβ版ではブックマークの追加で、「ma
c:message str(multiselectcount);」といった一行マクロを書いて追加すると、ファ
イルとか作らなくても個数表示できるマクロを作れたりします。

ヘルプのご指摘もありがとうございます。直しておきます。

[ ]
RE:40020 範囲選択内でヒットした件数を表No.40023
styth さん 22/09/09 23:36
 
>試しにマクロを作ってみたのですが、こんな感じでどうでしょうか?
 ありがとうございます。使ってみたいと思います。

[ ]