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