秀丸のgrep結果から、vimのQuickFixウインドウのような表示をするためのマクロを作った。
1行下に移動して、その行に該当するファイル・位置の内容が別ウインドウに表示する。
できるだけ同じウインドウを使いまわすようにしている。
// oldfile取得
golinetop;
searchdown2 "^.*?(?=\\(\\d+\\):)", regular;
$oldfile = gettext(seltopx,seltopy,selendx,selendy);
// 行移動
down;
// 行情報取得
golinetop;
searchdown2 "^.*?(?=\\(\\d+\\):)", regular;
$file = gettext(seltopx,seltopy,selendx,selendy);
searchdown2 "(?<=^.*?\\()\\d+(?=\\):)", regular;
$line = gettext(seltopx,seltopy,selendx,selendy);
// 目的ファイルのウインドウを取得し制御を移す(無ければ開く)
#baseWinHandle = hidemaruhandle(0);
#quickfixWinNo = findhidemaru($oldfile);
if (#quickfixWinNo == -1) {
newfile;
#quickfixWinNo = 0;
}
setactivehidemaru #quickfixWinNo;
// 目的ファイルの目的行を表示
loadfile $file;
movetolineno 1, val($line);
disabledraw;
enabledraw y - windowheight / 2;
// 元ウインドウに戻る
setactivehidemaru #baseWinHandle;