Hatena::ブログ(Diary)

くらげのChangeLog

2018-03-08

[]秀丸マクロ Vim-Like-Quickfix

秀丸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;
トラックバック - http://d.hatena.ne.jp/ku__ra__ge/20180308/p3