検索して色付けしたキーワードリストに名No.38231
ゆーすけ さん 20/05/26 15:35
 
検索の色付け一覧というダイアログがありますが、
そこに表示されている検索キーワード一覧を、テキストファイルなどに保存して、他
の人の環境で読み込んだりできるようにできたらよいなと思います。

仕事でログファイルの解析によく使うのですが、問題ごとにgrepパターンを保存して
おいて、自分で後日参照したり、他の社員と共有したりしています。

grep結果にさらに色付けして見やすくするのですが、その作業結果は再利用できず、
またgrepにキーワードを追加したらやり直しになるため、これがファイルに保存でき
ればとても楽になるのですが、是非ご検討いただきたいと思います。

[ ]
RE:38231 検索して色付けしたキーワードリNo.38232
秀丸担当 さん 20/05/26 16:43
 

検索の色付け一覧を保存したりすることは現状では確かにできないですが、できたら
いいと思います。
ご意見参考にさせていただきます。

参考までの情報として、V8.92βではマクロでfindmarkerlistという文が追加されて
いて、検索の色付け一覧のダイアログの操作ができます。
findmarkerlist #n,2;で項目1つずを検索バッファに適用することで、無理矢理です
が取得ができます。
取得したものをどこかに保存して、復元するときは、colormarkerallfound文で追加
できます。
そういうマクロでできないか、試しに作ってみようと思います。

ただ色の情報までは取得できないので、色を取得する方法もあったらいいと思います。
(getcolormarker文で実際の色付けから取得する方法もありますが)

[ ]
RE:38231 検索して色付けしたキーワードリNo.38233
グズラ さん 20/05/26 17:32
 
グズラです。

私もゆーすけさんと同じく
> そこに表示されている検索キーワード一覧を、テキストファイルなどに保存して、
>他の人の環境で読み込んだりできるようにできたらよいなと思います。
と思っており、

> V8.92βではマクロでfindmarkerlistという文が追加されていて、検索の色付け一
>覧のダイアログの操作ができます。
> 取得したものをどこかに保存して、復元するときは、colormarkerallfound文で追
>加できます。
この2つのマクロ文を使ったマクロを作って活用しております。

以下に拙作のマクロを記載します。よかったら参考になさってください。

秀丸V8.92β3以降で動作するはずです。
このマクロを実行すると「検索色付けを復元.mac」というマクロファイルが作成され
ます。
復元したい秀丸で「検索色付けを復元.mac」を実行すると検索色付けが復元されます。

----- ここから -----

// 検索色付けを保存.mac

    $s = searchbuffer;                      // 直前の検索状態を保存
    #f = searchoption;

    #targetcount = 0;
    $targetsb[#targetcount] = "";           // searchbuffer保存用配列
    #targetso[#targetcount] = -1;           // searchoption保存用配列

    while(true) {
        findmarkerlist #targetcount, 2;     // 指定した項目を検索バッファと
検索オプションに適用
        if (result == false) {              // 全て取得した場合は終了
            break;
        }

        // 保存用配列に保存
        $targetsb[#targetcount] = searchbuffer;
        #targetso[#targetcount] = searchoption;
        #targetcount = #targetcount + 1;
    }

    if (#targetcount == 0) {
        message "保存するものがありません";
        endmacro;
    }


    // 検索色付け復元マクロファイルを開く
    $filepath = macrodir + "\\検索色付けを復元.mac";
    #existfile = existfile($filepath);
    if (#existfile == false) {
        openfile "/h";
    } else {
        openfile "/h /m5 /n " + $filepath;      // ステルスモード、強制的に
開く、ファイルヒストリに追加しない
        selectall;      // 全選択
        delete;         // 削除
    }

    // マクロを出力
    insert "//「検索色付けを保存」にて作成されました。\n";
    insert "$s = searchbuffer;\n";
    insert "#f = searchoption;\n";

    #targetindex = 0;
    while (#targetindex < #targetcount) {
        insert sprintf("setsearch \"%s\",%d;\n", $targetsb[#targetindex], #t
argetso[#targetindex]);
        insert "colormarkerallfound;\n";
        #targetindex = #targetindex + 1;
    }

    insert "setsearch $s, #f;\n";

    if (#existfile == false) {
        saveas $filepath, sjis;
    } else {
        save;
    }
    message "保存しました";
    exit;

----- ここまで -----

[ ]
RE:38233 検索して色付けしたキーワードリNo.38234
秀丸担当 さん 20/05/26 17:53
 

マクロを試しに作ろうかとしていましたが、既にそういうマクロを作られていたとい
うことで、ありがとうございます。
助かりました。

[ ]
RE:38233 検索して色付けしたキーワードリNo.38251
ゆーすけ さん 20/06/01 14:29
 
グズラさん

いくつか検索を試してみましたが、今のところ完全に期待する動作を実現してくれて
います。ありがとうございます!

[ ]
RE:38251 検索して色付けしたキーワードリNo.38252
グズラ さん 20/06/01 15:09
 
グズラです。

>いくつか検索を試してみましたが、今のところ完全に期待する動作を実現してくれ
>ています。ありがとうございます!

いえいえとんでもないです。拙作のマクロがお役に立てたようで何よりです。わざわ
ざありがとうございます。
マクロ文の追加の要望に応えてくださった秀丸担当さんにも改めてお礼申し上げます。
ありがとうございました。

[ ]